time="2025-04-02T18:01:21Z" 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-authentication-1 Creating Container integration-test-federation-1 Creating Container integration-test-experiment-1 Creating Container integration-test-device-1 Creating Container integration-test-gateway-1 Creating Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Container integration-test-gateway-1 Created Container integration-test-authentication-1 Created Container integration-test-device-1 Created Container integration-test-authorization-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/lti_service.conf to /etc/nginx/lti_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} 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-02T18:02:36Z"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"client_addr":"127.0.0.1:43196","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2025-04-02T18:02:36Z"} authorization-1 | {"client_addr":"127.0.0.1:43196","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.332153,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:02:36Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1743616957.0916085} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1743616957.091675} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1743616957.0916848} 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":1743616957.091702} 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":1743616957.0917134} 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":1743616957.0917366,"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":1743616957.092586} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1743616957.0940902} 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:45442","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2025-04-02T18:02:37.111109320Z","id":"01JQVTPPNQHS75E2NSKNNQT340","name":"crosslab","updated_at":"2025-04-02T18:02:37.111109320Z"},"request_id":"97f5f22b-878e-47b9-99f3-ded1dba92e14","subsystem":"openfga","timestamp":1743616957.111216} 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:45442","raw_request":{"schema_version":"1.1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01JQVTPPR7MMQN1EAHHVBY6966"},"request_id":"eca0789a-8e26-4a33-87fe-7998b038f70e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616957.1919844} authorization-1 | {"client_addr":"127.0.0.1:43196","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2025-04-02T18:02:37Z"} authorization-1 | {"client_addr":"127.0.0.1:43196","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.224707,"resp_status":204,"subsystem":"opa","time":"2025-04-02T18:02:37Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v1.3.0/opa_linux_amd64","latest_version":"1.3.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v1.3.0","subsystem":"opa","time":"2025-04-02T18:02:37Z"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} device-1 | {"level":"info","message":"Device Service started successfully"} gateway-1 | {"time_local":"02/Apr/2025:18:02:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.011","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"6580ce98a13516a13b3913dd26faffe9"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 7ms","method":"HEAD","requestID":"6580ce98a13516a13b3913dd26faffe9","responseTime":7,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"02/Apr/2025:18:02:50 +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.011","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"237524bd4ed0b271f5869271104122d6"} device-1 | {"level":"info","message":"HEAD /device/status 200 7ms","method":"HEAD","requestID":"b0dda6a0-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"02/Apr/2025:18:02:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /authorization/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.033","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"4c24b6beebac12daf293bd9c2adf529d"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 6ms","method":"HEAD","requestID":"4c24b6beebac12daf293bd9c2adf529d","responseTime":6,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"02/Apr/2025:18:02:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /federation/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.011","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"61dfdd66c3c867286d58fe9df87cfbbd"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 31ms","method":"HEAD","requestID":"b0e65930-0fec-11f0-bd2c-f33dd3d22bb5","responseTime":31,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"02/Apr/2025:18:02:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /experiment/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.014","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"d82108b3e7a3bdf7a6ae2c99eb05e94b"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 9ms","method":"HEAD","requestID":"b0ece8e0-0fec-11f0-8f30-f9be23789d2c","responseTime":9,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"02/Apr/2025:18:02:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03a5bff74102c411524bfb553c221a7d"} authentication-1 | {"level":"info","message":"POST /login 201 142ms","method":"POST","requestID":"03a5bff74102c411524bfb553c221a7d","responseTime":142,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk3OH0.bnrI1AQtCBn9a0pw8eekQwmvVjxoIrbGuq4F62GKj_0","level":"info","message":"auth send jwt","requestID":"e627c5ef3dd61aa09f423dd00e800122"} authentication-1 | {"level":"info","message":"GET /auth 200 37ms","method":"GET","requestID":"e627c5ef3dd61aa09f423dd00e800122","responseTime":37,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e627c5ef3dd61aa09f423dd00e800122"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:02:58Z"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":25.218763,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:02:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e627c5ef3dd61aa09f423dd00e800122","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616978,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk3OH0.bnrI1AQtCBn9a0pw8eekQwmvVjxoIrbGuq4F62GKj_0"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","method":"POST","requestID":"e627c5ef3dd61aa09f423dd00e800122","responseTime":42,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"59028ce0-74db-433f-a2fa-5bfaf0081393","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616978.8929894} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e627c5ef3dd61aa09f423dd00e800122","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"242a9f54-c6ba-4c90-87d9-d6b61a6a5476","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616978.9298356} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"e627c5ef3dd61aa09f423dd00e800122","responseTime":32,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"609ac427-5631-4786-b880-0d5fb04b161d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616978.9448173} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac096b03-621a-47f7-a589-0d428ed9aa02","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616978.9456425} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"e627c5ef3dd61aa09f423dd00e800122","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:02:58.944791627Z"}]},"request_id":"782d1efa-13dd-4518-acc8-bba833edd297","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616978.9780169} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"e627c5ef3dd61aa09f423dd00e800122","responseTime":30,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e627c5ef3dd61aa09f423dd00e800122"} gateway-1 | {"time_local":"02/Apr/2025:18:02:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.342","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e627c5ef3dd61aa09f423dd00e800122"} device-1 | {"level":"info","message":"POST /devices? 201 295ms","method":"POST","requestID":"e627c5ef3dd61aa09f423dd00e800122","responseTime":295,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk3OX0.IYd6vqGx6qDjRJNXTARCz0mZjlinrd782PwGPL0r7-g","level":"info","message":"auth send jwt","requestID":"6aedadcfd8211a37ad7a01adcd598805"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6aedadcfd8211a37ad7a01adcd598805","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6aedadcfd8211a37ad7a01adcd598805"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:02:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.725251,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:02:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"6aedadcfd8211a37ad7a01adcd598805","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616979,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk3OX0.IYd6vqGx6qDjRJNXTARCz0mZjlinrd782PwGPL0r7-g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6aedadcfd8211a37ad7a01adcd598805","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ca056f98-3686-4ddd-af27-f3abd4c531d1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616979.0827255} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6aedadcfd8211a37ad7a01adcd598805","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef6c5bb7-9d11-49ca-bcd0-ccaca700bdde","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616979.0930023} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"6aedadcfd8211a37ad7a01adcd598805","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"20bb312d-90d8-4497-a6a4-2418f78c0ad9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616979.1287026} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7092a965-d4a6-4c05-bb3b-664f328da272","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616979.1290739} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"6aedadcfd8211a37ad7a01adcd598805","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:02:59.128693157Z"}]},"request_id":"f8b37401-3d37-4a36-90be-0e8c12d5114e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616979.136532} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6aedadcfd8211a37ad7a01adcd598805","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6aedadcfd8211a37ad7a01adcd598805"} gateway-1 | {"time_local":"02/Apr/2025:18:02: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.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6aedadcfd8211a37ad7a01adcd598805"} device-1 | {"level":"info","message":"POST /devices? 201 104ms","method":"POST","requestID":"6aedadcfd8211a37ad7a01adcd598805","responseTime":104,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"36de5fa992023981f18ed049801c18bb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"36de5fa992023981f18ed049801c18bb","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:03:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/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":"36de5fa992023981f18ed049801c18bb"} device-1 | {"level":"info","message":"OPTIONS /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/websocket 200 2ms","method":"OPTIONS","requestID":"36de5fa992023981f18ed049801c18bb","responseTime":2,"status":200,"url":"/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I","level":"info","message":"auth send jwt","requestID":"394434c48c1d24525d2835f31116bd2e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"394434c48c1d24525d2835f31116bd2e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"394434c48c1d24525d2835f31116bd2e"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.79409,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"394434c48c1d24525d2835f31116bd2e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616982,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"394434c48c1d24525d2835f31116bd2e","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a4dda801cbd7b34e5db2a03a596fbd5d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a4dda801cbd7b34e5db2a03a596fbd5d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:03:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.007","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a4dda801cbd7b34e5db2a03a596fbd5d"} device-1 | {"level":"info","message":"OPTIONS /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/websocket 200 1ms","method":"OPTIONS","requestID":"a4dda801cbd7b34e5db2a03a596fbd5d","responseTime":1,"status":200,"url":"/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I","level":"info","message":"auth send jwt","requestID":"4211eca0c513989ab4d7d9fe3ffcd27c"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"4211eca0c513989ab4d7d9fe3ffcd27c","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4211eca0c513989ab4d7d9fe3ffcd27c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"394434c48c1d24525d2835f31116bd2e"} gateway-1 | {"time_local":"02/Apr/2025:18:03:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.091","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"394434c48c1d24525d2835f31116bd2e"} device-1 | {"level":"info","message":"POST /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/websocket 200 84ms","method":"POST","requestID":"394434c48c1d24525d2835f31116bd2e","responseTime":84,"status":200,"url":"/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/websocket"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.867654,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4211eca0c513989ab4d7d9fe3ffcd27c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616982,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4211eca0c513989ab4d7d9fe3ffcd27c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4211eca0c513989ab4d7d9fe3ffcd27c"} gateway-1 | {"time_local":"02/Apr/2025:18:03:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.089","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4211eca0c513989ab4d7d9fe3ffcd27c"} device-1 | {"level":"info","message":"POST /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/websocket 200 57ms","method":"POST","requestID":"4211eca0c513989ab4d7d9fe3ffcd27c","responseTime":57,"status":200,"url":"/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I","level":"info","message":"auth send jwt","requestID":"e47a4ca31130efab6d2ef1771d62049e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e47a4ca31130efab6d2ef1771d62049e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e47a4ca31130efab6d2ef1771d62049e"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.218995,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e47a4ca31130efab6d2ef1771d62049e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616982,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e47a4ca31130efab6d2ef1771d62049e","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:02:58.944791627Z"}]},"request_id":"2226a478-a615-4ff9-baec-3d07970e0215","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616982.312352} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"e47a4ca31130efab6d2ef1771d62049e","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e47a4ca31130efab6d2ef1771d62049e"} gateway-1 | {"time_local":"02/Apr/2025:18:03:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e47a4ca31130efab6d2ef1771d62049e"} device-1 | {"level":"info","message":"GET /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e? 200 47ms","method":"GET","requestID":"e47a4ca31130efab6d2ef1771d62049e","responseTime":47,"status":200,"url":"/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I","level":"info","message":"auth send jwt","requestID":"387eaf4c9c1c78daded324470ef9f39f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"387eaf4c9c1c78daded324470ef9f39f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"387eaf4c9c1c78daded324470ef9f39f"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.085711,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"387eaf4c9c1c78daded324470ef9f39f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616982,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"387eaf4c9c1c78daded324470ef9f39f","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:02:59.128693157Z"}]},"request_id":"74943fb7-dfd2-4542-baec-4934504626a3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616982.392055} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"387eaf4c9c1c78daded324470ef9f39f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"387eaf4c9c1c78daded324470ef9f39f"} gateway-1 | {"time_local":"02/Apr/2025:18:03:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"387eaf4c9c1c78daded324470ef9f39f"} device-1 | {"level":"info","message":"GET /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a? 200 41ms","method":"GET","requestID":"387eaf4c9c1c78daded324470ef9f39f","responseTime":41,"status":200,"url":"/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I","level":"info","message":"auth send jwt","requestID":"239ced3d6a34cadec97834e6c209d4a3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"239ced3d6a34cadec97834e6c209d4a3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"239ced3d6a34cadec97834e6c209d4a3"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.049388,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"239ced3d6a34cadec97834e6c209d4a3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616982,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"239ced3d6a34cadec97834e6c209d4a3","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Attempting to run experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Attempting to book experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Successfully booked experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b83f9ac0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b83fe8e0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.024435,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b83f9ac0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616982,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b83f9ac0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.104522,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b83fe8e0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616982,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"b83fe8e0-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:02:58.944791627Z"}]},"request_id":"c4ab779b-eb50-4b4e-8bd4-4d3933a8eeca","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616982.6751435} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b83f9ac0-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:02:59.128693157Z"}]},"request_id":"80e61778-2b8f-4e7d-b180-fa3558fbbb80","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616982.6766074} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b83fe8e0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b83f9ac0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e? 200 47ms","method":"GET","requestID":"b83f9ac0-0fec-11f0-b95a-67cf87457f46","responseTime":47,"status":200,"url":"/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b83fe8e0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a? 200 46ms","method":"GET","requestID":"b83fe8e0-0fec-11f0-b95a-67cf87457f46","responseTime":46,"status":200,"url":"/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Setting up experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Successfully locked booking for experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Attempting to update booking for experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Successfully updated booking for experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Successfully set up experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b85e9470-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b8628c10-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.270195,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Successfully running experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b85e9470-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616982,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b85e9470-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.018617,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b8630140-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b8628c10-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616982,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b8628c10-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"480012a9-14e6-4e14-9958-ac5c0d9e7751","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616982.879678} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:02:59.128693157Z"}]},"request_id":"08069ff9-45f5-48a8-8bdb-927149384965","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616982.880095} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:02:58.944791627Z"}]},"request_id":"9331e6a1-11e4-4514-b8ea-845298b3de08","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616982.8821232} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"b8628c10-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.456778,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b8630140-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","object_type":"device","rebac_allow":false,"scope_allow":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":"b8630140-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"b85e9470-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"5f69c46b-8650-471a-aed1-72a3efe5fe0b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616982.8887594} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01b4d904-2966-4311-8dcb-5f7c77a05caa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616982.888932} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"239ced3d6a34cadec97834e6c209d4a3","responseTime":18,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b8628c10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a? 200 50ms","method":"GET","requestID":"b8628c10-0fec-11f0-b95a-67cf87457f46","responseTime":50,"status":200,"url":"/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b8630140-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/signaling 200 51ms","method":"POST","requestID":"b8630140-0fec-11f0-b95a-67cf87457f46","responseTime":51,"status":200,"url":"/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b85e9470-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e? 200 82ms","method":"GET","requestID":"b85e9470-0fec-11f0-b95a-67cf87457f46","responseTime":82,"status":200,"url":"/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b86bb3d0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b86c7720-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1a8f8cd-f51a-40bf-8a30-8ace37aa9090","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616982.9312372} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"239ced3d6a34cadec97834e6c209d4a3"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.145243,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b86bb3d0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"02/Apr/2025:18:03:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.533","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"239ced3d6a34cadec97834e6c209d4a3"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"b86bb3d0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /experiments? 201 497ms","method":"POST","requestID":"239ced3d6a34cadec97834e6c209d4a3","responseTime":497,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9eb6feab-69c6-42bb-8c4d-2d622af792a8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616982.9361165} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.35101,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b86c7720-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b86c7720-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b86bb3d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/signaling 200 38ms","method":"POST","requestID":"b86bb3d0-0fec-11f0-b95a-67cf87457f46","responseTime":38,"status":200,"url":"/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b86c7720-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/signaling 200 37ms","method":"POST","requestID":"b86c7720-0fec-11f0-b95a-67cf87457f46","responseTime":37,"status":200,"url":"/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I","level":"info","message":"auth send jwt","requestID":"ae0448e7109355e3c3adc52d3e80a141"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ae0448e7109355e3c3adc52d3e80a141","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b87291a0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ae0448e7109355e3c3adc52d3e80a141"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.787827,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ae0448e7109355e3c3adc52d3e80a141","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616982,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ae0448e7109355e3c3adc52d3e80a141","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69ad8f6d-d3b9-4710-9267-64ce8cd6d78a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616982.976319} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.354942,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b87291a0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","object_type":"device","rebac_allow":false,"scope_allow":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":"b87291a0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b87291a0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/signaling 200 12ms","method":"POST","requestID":"b87291a0-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:02:58.944791627Z"}]},"request_id":"dc6a57db-a02b-410a-96cb-dfe875243aee","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616982.9829733} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"ae0448e7109355e3c3adc52d3e80a141","responseTime":29,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Building connection plan","requestID":"239ced3d6a34cadec97834e6c209d4a3"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"be8d376a-f2a0-45d8-b94a-28be1b4dca48"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c08107ce-c455-4559-b77d-e730e2ac1fe7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"53728971-6e97-4713-b2bf-2e29015f4559"}]},"level":"info","message":"Built pairwise service configurations","requestID":"239ced3d6a34cadec97834e6c209d4a3"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"239ced3d6a34cadec97834e6c209d4a3"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ae0448e7109355e3c3adc52d3e80a141"} gateway-1 | {"time_local":"02/Apr/2025:18:03:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae0448e7109355e3c3adc52d3e80a141"} device-1 | {"level":"info","message":"GET /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e? 200 44ms","method":"GET","requestID":"ae0448e7109355e3c3adc52d3e80a141","responseTime":44,"status":200,"url":"/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b87a0bb0-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4M30.M58kqLnXjh1czjgxCZxVbH67T9UpqggUANf5Y4jz2Sg","level":"info","message":"auth send jwt","requestID":"780f9d66274be64b6775e5fa49f98883"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"780f9d66274be64b6775e5fa49f98883","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:03Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"780f9d66274be64b6775e5fa49f98883"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.787462,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b87a0bb0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616982,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Mn0.cOAYghFmdlzUBmdLhaVC4tbVjDw4uZ90zda4tEBVZ9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b87a0bb0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643848,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"780f9d66274be64b6775e5fa49f98883","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616983,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4M30.M58kqLnXjh1czjgxCZxVbH67T9UpqggUANf5Y4jz2Sg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"780f9d66274be64b6775e5fa49f98883","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:02:59.128693157Z"}]},"request_id":"a757e1f3-8a6f-4d25-b8ec-0e35d8416a2d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.0577216} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"780f9d66274be64b6775e5fa49f98883","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"780f9d66274be64b6775e5fa49f98883"} gateway-1 | {"time_local":"02/Apr/2025:18:03:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"780f9d66274be64b6775e5fa49f98883"} device-1 | {"level":"info","message":"GET /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a? 200 40ms","method":"GET","requestID":"780f9d66274be64b6775e5fa49f98883","responseTime":40,"status":200,"url":"/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"d22984c9-0979-4c4e-85b5-5dff822a5126","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.0798194} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1bb42362-6fde-48e6-bbb3-52ec837788df","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.0800228} authorization-1 | {"level":"info","message":"POST /relations/update 200 49ms","method":"POST","requestID":"b87a0bb0-0fec-11f0-b95a-67cf87457f46","responseTime":49,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b87a0bb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b87a0bb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49'","requestID":"b87a0bb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49'","requestID":"b87a0bb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b87a0bb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 103ms","method":"POST","requestID":"b87a0bb0-0fec-11f0-b95a-67cf87457f46","responseTime":103,"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":"b87a0bb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49","device":"1727f7b5-77a0-47ab-94cf-f5375a2aac9e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49","device":"b82e914b-18c4-4a7c-b770-b2778ac6784a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"239ced3d6a34cadec97834e6c209d4a3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b896e280-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6c0d715-74c4-48b5-9ecb-9aa01e93d635","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.2144418} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.159208,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b896e280-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","object_type":"device","rebac_allow":false,"scope_allow":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":"b896e280-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b896e280-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/signaling 200 14ms","method":"POST","requestID":"b896e280-0fec-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/signaling"} device-1 | {"device":"1727f7b5-77a0-47ab-94cf-f5375a2aac9e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1727f7b5-77a0-47ab-94cf-f5375a2aac9e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b89d9940-0fec-11f0-b95a-67cf87457f46"} device-1 | {"device":"b82e914b-18c4-4a7c-b770-b2778ac6784a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b82e914b-18c4-4a7c-b770-b2778ac6784a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e0ae561-8150-40a6-814a-adb8c2d47881","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.2581794} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.50155,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b89d9940-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b89d9940-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b89d9940-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/signaling 200 14ms","method":"POST","requestID":"b89d9940-0fec-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8846707082482728292 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:WeMa\r\na=ice-pwd:JjQ4+UMNGVUh74NT4xFfL2WF\r\na=ice-options:trickle\r\na=fingerprint:sha-256 27:A9:BC:B8:E5:23:6E:1E:26:E1:30:8B:09:EF:88:96:53:82:39:15:3C:F4:58:0F:B6:C7:47:70:1C:D0:23:D2\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b82e914b-18c4-4a7c-b770-b2778ac6784a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 4692334879781711807 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:NfV6\r\na=ice-pwd:WhyYRy0Ya90KfxHQt4BSCEZq\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BF:5C:04:82:B3:BF:65:DA:4C:B5:32:77:C6:1D:23:76:7A:0B:06:FC:C6:F1:BF:4E:11:17:18:6F:AB:DE:16:09\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"1727f7b5-77a0-47ab-94cf-f5375a2aac9e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2459181984 1 udp 2113937151 88ba8475-cf54-4e66-bce0-857072650c54.local 33901 typ host generation 0 ufrag NfV6 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1727f7b5-77a0-47ab-94cf-f5375a2aac9e","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/1727f7b5-77a0-47ab-94cf-f5375a2aac9e'"} device-1 | {"content":{"candidate":"candidate:3782019940 1 udp 2113937151 1e303060-7489-44d0-9c58-877ec1e644ca.local 60105 typ host generation 0 ufrag WeMa network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b82e914b-18c4-4a7c-b770-b2778ac6784a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"b82e914b-18c4-4a7c-b770-b2778ac6784a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"1727f7b5-77a0-47ab-94cf-f5375a2aac9e","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/1cd91934-1159-41a6-8f5c-ed4b214a6d49' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1cd91934-1159-41a6-8f5c-ed4b214a6d49","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b82e914b-18c4-4a7c-b770-b2778ac6784a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"b82e914b-18c4-4a7c-b770-b2778ac6784a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"1727f7b5-77a0-47ab-94cf-f5375a2aac9e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"1727f7b5-77a0-47ab-94cf-f5375a2aac9e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"1727f7b5-77a0-47ab-94cf-f5375a2aac9e","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5db5cc27b49730ea1596610a2cae3041","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5db5cc27b49730ea1596610a2cae3041","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/1727f7b5-77a0-47ab-94cf-f5375a2aac9e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49"}}},"level":"info","message":"received a callback","requestID":"5db5cc27b49730ea1596610a2cae3041"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"5db5cc27b49730ea1596610a2cae3041","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03: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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"5db5cc27b49730ea1596610a2cae3041"} device-1 | {"data":{"peerconnection":"1cd91934-1159-41a6-8f5c-ed4b214a6d49","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"1cd91934-1159-41a6-8f5c-ed4b214a6d49","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/1cd91934-1159-41a6-8f5c-ed4b214a6d49' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1cd91934-1159-41a6-8f5c-ed4b214a6d49","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"923255d7aa4e610daa880e21e5e0c323","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"923255d7aa4e610daa880e21e5e0c323","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/1727f7b5-77a0-47ab-94cf-f5375a2aac9e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49"}}},"level":"info","message":"received a callback","requestID":"923255d7aa4e610daa880e21e5e0c323"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4M30.M58kqLnXjh1czjgxCZxVbH67T9UpqggUANf5Y4jz2Sg","level":"info","message":"auth send jwt","requestID":"1416027ff1e5108dda848ff4471c998a"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"1416027ff1e5108dda848ff4471c998a","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","requestID":"1416027ff1e5108dda848ff4471c998a"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.712564,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:03Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b8c2d480-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1416027ff1e5108dda848ff4471c998a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616983,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4M30.M58kqLnXjh1czjgxCZxVbH67T9UpqggUANf5Y4jz2Sg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1416027ff1e5108dda848ff4471c998a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1cd91934-1159-41a6-8f5c-ed4b214a6d49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d8143a2-7a8a-4ee5-abc0-32f75c0fc528","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.5021276} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.856083,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:03Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","requestID":"1416027ff1e5108dda848ff4471c998a"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b8c2d480-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b8c2d480-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b8c2d480-0fec-11f0-b95a-67cf87457f46"} gateway-1 | {"time_local":"02/Apr/2025:18:03:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1416027ff1e5108dda848ff4471c998a"} experiment-1 | {"level":"info","message":"GET /experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f 200 17ms","method":"GET","requestID":"1416027ff1e5108dda848ff4471c998a","responseTime":17,"status":200,"url":"/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"} device-1 | {"level":"info","message":"GET /peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49 200 13ms","method":"GET","requestID":"b8c2d480-0fec-11f0-b95a-67cf87457f46","responseTime":13,"status":200,"url":"/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"923255d7aa4e610daa880e21e5e0c323","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"923255d7aa4e610daa880e21e5e0c323"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b8d23dd0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f734a20a-7229-4378-bc21-f23803325d95","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.6019273} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.733559,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b8d23dd0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b8d23dd0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b8d23dd0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/signaling 200 10ms","method":"POST","requestID":"b8d23dd0-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b8d41290-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16c8f77f-848c-41f1-9ad5-12d2c3d3ce3c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.638976} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4M30.M58kqLnXjh1czjgxCZxVbH67T9UpqggUANf5Y4jz2Sg","level":"info","message":"auth send jwt","requestID":"f8811314eabe830e6431678323760ed6"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.694638,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:03Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f8811314eabe830e6431678323760ed6","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","requestID":"f8811314eabe830e6431678323760ed6"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b8d41290-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","object_type":"device","rebac_allow":false,"scope_allow":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":"b8d41290-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.006305,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b8d41290-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/signaling 200 38ms","method":"POST","requestID":"b8d41290-0fec-11f0-b95a-67cf87457f46","responseTime":38,"status":200,"url":"/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f8811314eabe830e6431678323760ed6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616983,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4M30.M58kqLnXjh1czjgxCZxVbH67T9UpqggUANf5Y4jz2Sg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f8811314eabe830e6431678323760ed6","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","requestID":"f8811314eabe830e6431678323760ed6"} gateway-1 | {"time_local":"02/Apr/2025:18:03:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f8811314eabe830e6431678323760ed6"} experiment-1 | {"level":"info","message":"GET /experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f 200 14ms","method":"GET","requestID":"f8811314eabe830e6431678323760ed6","responseTime":14,"status":200,"url":"/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4M30.M58kqLnXjh1czjgxCZxVbH67T9UpqggUANf5Y4jz2Sg","level":"info","message":"auth send jwt","requestID":"d1bbec3175f61187fbc6c7aa4a6a7f1a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d1bbec3175f61187fbc6c7aa4a6a7f1a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","requestID":"d1bbec3175f61187fbc6c7aa4a6a7f1a"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.911603,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d1bbec3175f61187fbc6c7aa4a6a7f1a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616983,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4M30.M58kqLnXjh1czjgxCZxVbH67T9UpqggUANf5Y4jz2Sg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d1bbec3175f61187fbc6c7aa4a6a7f1a","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Attempting to finish experiment","requestID":"d1bbec3175f61187fbc6c7aa4a6a7f1a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b8e24360-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.032921,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b8e24360-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616983,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4M30.M58kqLnXjh1czjgxCZxVbH67T9UpqggUANf5Y4jz2Sg"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"b8e24360-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49","device":"1727f7b5-77a0-47ab-94cf-f5375a2aac9e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49","device":"b82e914b-18c4-4a7c-b770-b2778ac6784a","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/1cd91934-1159-41a6-8f5c-ed4b214a6d49' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1cd91934-1159-41a6-8f5c-ed4b214a6d49","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6619a955ad592898e6f1a92e47938861","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6619a955ad592898e6f1a92e47938861","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4cd00558a731df59e2407fad0f3d54f8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49"}}},"level":"info","message":"received a callback","requestID":"6619a955ad592898e6f1a92e47938861"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4cd00558a731df59e2407fad0f3d54f8","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/1727f7b5-77a0-47ab-94cf-f5375a2aac9e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49"}}},"level":"info","message":"received a callback","requestID":"4cd00558a731df59e2407fad0f3d54f8"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1cd91934-1159-41a6-8f5c-ed4b214a6d49': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1cd91934-1159-41a6-8f5c-ed4b214a6d49","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"2e8f33de-b418-4862-abd2-7ac8435c9cc7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.7778542} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19203d7f-007a-423e-9b0f-cb94b14eb31e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.7782154} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"b8e24360-0fec-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"1cd91934-1159-41a6-8f5c-ed4b214a6d49","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b8e24360-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49 204 132ms","method":"DELETE","requestID":"b8e24360-0fec-11f0-b95a-67cf87457f46","responseTime":132,"status":204,"url":"/peerconnections/1cd91934-1159-41a6-8f5c-ed4b214a6d49"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"},"level":"info","message":"Successfully finished experiment","requestID":"d1bbec3175f61187fbc6c7aa4a6a7f1a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b8fd9390-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1727f7b5-77a0-47ab-94cf-f5375a2aac9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db75fce7-4c55-4944-abb9-bc9f20d97d33","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.886487} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.540766,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b8fd9390-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b8fd9390-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b8fd9390-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/signaling 200 10ms","method":"POST","requestID":"b8fd9390-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/1727f7b5-77a0-47ab-94cf-f5375a2aac9e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b8ff8f60-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"57619c30-5728-46a8-b09d-2d65665264b8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.8953815} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0736dff-30d8-40ac-aa27-c228405dcaf6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.8958793} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"d1bbec3175f61187fbc6c7aa4a6a7f1a","responseTime":45,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb82e914b-18c4-4a7c-b770-b2778ac6784a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5736f4bd-5c4d-415c-ba11-178b97703051","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616983.9238362} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.51163,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b8ff8f60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a","object_type":"device","rebac_allow":false,"scope_allow":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":"b8ff8f60-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b8ff8f60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/signaling 200 35ms","method":"POST","requestID":"b8ff8f60-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f","requestID":"d1bbec3175f61187fbc6c7aa4a6a7f1a"} gateway-1 | {"time_local":"02/Apr/2025:18:03:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.354","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d1bbec3175f61187fbc6c7aa4a6a7f1a"} experiment-1 | {"level":"info","message":"DELETE /experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f 204 351ms","method":"DELETE","requestID":"d1bbec3175f61187fbc6c7aa4a6a7f1a","responseTime":351,"status":204,"url":"/experiments/0bb71f0d-ea4d-43ea-9de6-ffa8790b2b7f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4NH0.WMdAV0uKKWb-rbxU-RknPbnmInKrFi_UWeTqsUFpM0s","level":"info","message":"auth send jwt","requestID":"f551dd9e17b0f30cf3a1bd1929cab8ad"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 320ms","method":"POST","requestID":"6619a955ad592898e6f1a92e47938861","responseTime":320,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f551dd9e17b0f30cf3a1bd1929cab8ad","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:03: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.324","http_referrer":"","http_user_agent":"node-fetch","requestID":"6619a955ad592898e6f1a92e47938861"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 319ms","method":"POST","requestID":"4cd00558a731df59e2407fad0f3d54f8","responseTime":319,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03: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.325","http_referrer":"","http_user_agent":"node-fetch","requestID":"4cd00558a731df59e2407fad0f3d54f8"} device-1 | {"level":"info","message":"postDevices called","requestID":"f551dd9e17b0f30cf3a1bd1929cab8ad"} gateway-1 | {"time_local":"02/Apr/2025:18:03:04 +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.870","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"945b70592cabef9216f16fee47bb3a43"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:04Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.903395,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:04Z"} gateway-1 | {"time_local":"02/Apr/2025:18:03:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2343","request_time":"1.822","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9668bfecf177db6662b83beaac416ffd"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f551dd9e17b0f30cf3a1bd1929cab8ad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616984,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4NH0.WMdAV0uKKWb-rbxU-RknPbnmInKrFi_UWeTqsUFpM0s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f551dd9e17b0f30cf3a1bd1929cab8ad","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/1727f7b5-77a0-47ab-94cf-f5375a2aac9e' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b82e914b-18c4-4a7c-b770-b2778ac6784a' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bf31fa8e-5c14-4f20-a543-bf7e780506bf","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616984.1326447} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f551dd9e17b0f30cf3a1bd1929cab8ad","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6c030aa-12a4-477b-8314-4eee55d9784f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616984.1627889} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"f551dd9e17b0f30cf3a1bd1929cab8ad","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"2c0dc737-2f1c-4964-9c49-457153b9cb3a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616984.173231} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c446452e-aeda-4264-af4d-e4894bc8b228","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616984.1733673} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"f551dd9e17b0f30cf3a1bd1929cab8ad","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:04.173218327Z"}]},"request_id":"2a6cb993-86d4-487f-a0fb-1c07bd0d3c15","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616984.1779504} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f551dd9e17b0f30cf3a1bd1929cab8ad","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f551dd9e17b0f30cf3a1bd1929cab8ad"} gateway-1 | {"time_local":"02/Apr/2025:18:03:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.116","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f551dd9e17b0f30cf3a1bd1929cab8ad"} device-1 | {"level":"info","message":"POST /devices? 201 108ms","method":"POST","requestID":"f551dd9e17b0f30cf3a1bd1929cab8ad","responseTime":108,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4NH0.WMdAV0uKKWb-rbxU-RknPbnmInKrFi_UWeTqsUFpM0s","level":"info","message":"auth send jwt","requestID":"829e4ba1350ad491f24fe36bedc40af6"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"829e4ba1350ad491f24fe36bedc40af6","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"829e4ba1350ad491f24fe36bedc40af6"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:04Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.854384,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"829e4ba1350ad491f24fe36bedc40af6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616984,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4NH0.WMdAV0uKKWb-rbxU-RknPbnmInKrFi_UWeTqsUFpM0s"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"829e4ba1350ad491f24fe36bedc40af6","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3a198a3b-6bca-4426-a240-4b256b043d2e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616984.3147986} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"829e4ba1350ad491f24fe36bedc40af6","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35c76362-d297-4c74-b215-52891dc27ae5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616984.3213935} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"829e4ba1350ad491f24fe36bedc40af6","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"7e178e90-45ee-471b-a48b-df0bc08c602f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616984.35657} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0486c6d-8184-4354-a90e-19a9f8ec753d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616984.3568637} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"829e4ba1350ad491f24fe36bedc40af6","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:04.356555020Z"}]},"request_id":"2e57dcc7-8935-47f0-814f-e479d7be930a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616984.3614562} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"829e4ba1350ad491f24fe36bedc40af6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"829e4ba1350ad491f24fe36bedc40af6"} gateway-1 | {"time_local":"02/Apr/2025:18:03:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"829e4ba1350ad491f24fe36bedc40af6"} device-1 | {"level":"info","message":"POST /devices? 201 151ms","method":"POST","requestID":"829e4ba1350ad491f24fe36bedc40af6","responseTime":151,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4NX0.13TLhlY2ImKLUbvNLYvmn8hbL0WHcBQikQtj_hSV4MI","level":"info","message":"auth send jwt","requestID":"c684e855459fb5b3554a798c683177fc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c684e855459fb5b3554a798c683177fc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c684e855459fb5b3554a798c683177fc"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:05Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.990247,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c684e855459fb5b3554a798c683177fc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616985,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4NX0.13TLhlY2ImKLUbvNLYvmn8hbL0WHcBQikQtj_hSV4MI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c684e855459fb5b3554a798c683177fc","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:04.356555020Z"}]},"request_id":"74830aba-821e-4983-aa62-4c28d3b698e5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616985.797597} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c684e855459fb5b3554a798c683177fc","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6da115b8-0b34-4c7e-a6db-d04618d199d4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616985.804547} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c684e855459fb5b3554a798c683177fc","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:04.356555020Z"}]},"request_id":"cd3c66cf-6f4e-43c6-85c9-b3b04686cf51","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616985.8433328} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c684e855459fb5b3554a798c683177fc","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c684e855459fb5b3554a798c683177fc"} gateway-1 | {"time_local":"02/Apr/2025:18:03:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.102","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"c684e855459fb5b3554a798c683177fc"} device-1 | {"level":"info","message":"PATCH /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c 200 98ms","method":"PATCH","requestID":"c684e855459fb5b3554a798c683177fc","responseTime":98,"status":200,"url":"/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4NX0.13TLhlY2ImKLUbvNLYvmn8hbL0WHcBQikQtj_hSV4MI","level":"info","message":"auth send jwt","requestID":"f4c1b9ab6c8ef121846ffefbb5752721"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f4c1b9ab6c8ef121846ffefbb5752721","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f4c1b9ab6c8ef121846ffefbb5752721"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:05Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.00862,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f4c1b9ab6c8ef121846ffefbb5752721","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616985,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4NX0.13TLhlY2ImKLUbvNLYvmn8hbL0WHcBQikQtj_hSV4MI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f4c1b9ab6c8ef121846ffefbb5752721","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f4c1b9ab6c8ef121846ffefbb5752721"} gateway-1 | {"time_local":"02/Apr/2025:18:03:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.089","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"f4c1b9ab6c8ef121846ffefbb5752721"} device-1 | {"level":"info","message":"POST /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c/websocket 200 87ms","method":"POST","requestID":"f4c1b9ab6c8ef121846ffefbb5752721","responseTime":87,"status":200,"url":"/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e86dc1f69b8835339f2c41c4245f13e3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e86dc1f69b8835339f2c41c4245f13e3","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:03:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/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":"e86dc1f69b8835339f2c41c4245f13e3"} device-1 | {"level":"info","message":"OPTIONS /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/websocket 200 1ms","method":"OPTIONS","requestID":"e86dc1f69b8835339f2c41c4245f13e3","responseTime":1,"status":200,"url":"/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Nn0.1BZWuhFRKNSoYXm8KK3DzMMeMAhUOVYaXmaJzrcSINs","level":"info","message":"auth send jwt","requestID":"d6d8f1277271099c5b33afee2c92449e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d6d8f1277271099c5b33afee2c92449e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d6d8f1277271099c5b33afee2c92449e"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:06Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725696,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d6d8f1277271099c5b33afee2c92449e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616986,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Nn0.1BZWuhFRKNSoYXm8KK3DzMMeMAhUOVYaXmaJzrcSINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d6d8f1277271099c5b33afee2c92449e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d6d8f1277271099c5b33afee2c92449e"} gateway-1 | {"time_local":"02/Apr/2025:18:03:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.055","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d6d8f1277271099c5b33afee2c92449e"} device-1 | {"level":"info","message":"POST /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/websocket 200 51ms","method":"POST","requestID":"d6d8f1277271099c5b33afee2c92449e","responseTime":51,"status":200,"url":"/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Nn0.1BZWuhFRKNSoYXm8KK3DzMMeMAhUOVYaXmaJzrcSINs","level":"info","message":"auth send jwt","requestID":"0d53fe942dc75f2689049e59b91471c8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0d53fe942dc75f2689049e59b91471c8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d53fe942dc75f2689049e59b91471c8"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:06Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.73465,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0d53fe942dc75f2689049e59b91471c8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616986,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Nn0.1BZWuhFRKNSoYXm8KK3DzMMeMAhUOVYaXmaJzrcSINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0d53fe942dc75f2689049e59b91471c8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:04.173218327Z"}]},"request_id":"e1c44944-72b7-4fd4-bc55-dab548c53c33","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616986.8680608} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0d53fe942dc75f2689049e59b91471c8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d53fe942dc75f2689049e59b91471c8"} device-1 | {"level":"info","message":"GET /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c? 200 16ms","method":"GET","requestID":"0d53fe942dc75f2689049e59b91471c8","responseTime":16,"status":200,"url":"/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d53fe942dc75f2689049e59b91471c8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Nn0.1BZWuhFRKNSoYXm8KK3DzMMeMAhUOVYaXmaJzrcSINs","level":"info","message":"auth send jwt","requestID":"fa457be5d3c12c02eeb5f62ee868edf3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fa457be5d3c12c02eeb5f62ee868edf3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fa457be5d3c12c02eeb5f62ee868edf3"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:06Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.910168,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fa457be5d3c12c02eeb5f62ee868edf3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616986,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Nn0.1BZWuhFRKNSoYXm8KK3DzMMeMAhUOVYaXmaJzrcSINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fa457be5d3c12c02eeb5f62ee868edf3","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:04.356555020Z"}]},"request_id":"034572d1-d9f1-4d78-a2d7-c5df5538edcd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616986.911723} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fa457be5d3c12c02eeb5f62ee868edf3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fa457be5d3c12c02eeb5f62ee868edf3"} gateway-1 | {"time_local":"02/Apr/2025:18:03:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c? 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":"fa457be5d3c12c02eeb5f62ee868edf3"} device-1 | {"level":"info","message":"GET /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c? 200 14ms","method":"GET","requestID":"fa457be5d3c12c02eeb5f62ee868edf3","responseTime":14,"status":200,"url":"/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Nn0.1BZWuhFRKNSoYXm8KK3DzMMeMAhUOVYaXmaJzrcSINs","level":"info","message":"auth send jwt","requestID":"845c7f655c60f971e376b7df266ba7f6"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"845c7f655c60f971e376b7df266ba7f6","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"845c7f655c60f971e376b7df266ba7f6"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:06Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.688308,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"845c7f655c60f971e376b7df266ba7f6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616986,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Nn0.1BZWuhFRKNSoYXm8KK3DzMMeMAhUOVYaXmaJzrcSINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"845c7f655c60f971e376b7df266ba7f6","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Attempting to run experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Attempting to book experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Successfully booked experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"badb5440-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"badb7b50-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.398495,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"badb5440-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616986,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Nn0.1BZWuhFRKNSoYXm8KK3DzMMeMAhUOVYaXmaJzrcSINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"badb5440-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.59854,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"badb7b50-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616986,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Nn0.1BZWuhFRKNSoYXm8KK3DzMMeMAhUOVYaXmaJzrcSINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"badb7b50-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:04.173218327Z"}]},"request_id":"23a02857-ab82-484d-ac03-90c46e47885a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.0460958} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:04.356555020Z"}]},"request_id":"e0215e69-69e9-4840-93bf-1631a2df5901","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.0471053} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"badb5440-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"badb7b50-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"badb5440-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c? 200 41ms","method":"GET","requestID":"badb5440-0fec-11f0-b95a-67cf87457f46","responseTime":41,"status":200,"url":"/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"badb7b50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c? 200 41ms","method":"GET","requestID":"badb7b50-0fec-11f0-b95a-67cf87457f46","responseTime":41,"status":200,"url":"/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Setting up experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Successfully locked booking for experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Attempting to update booking for experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Successfully updated booking for experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Successfully set up experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"baea4860-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"baea6f70-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"baee6710-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Successfully running experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38616","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941285,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"baea4860-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616986,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Nn0.1BZWuhFRKNSoYXm8KK3DzMMeMAhUOVYaXmaJzrcSINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"baea4860-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806692,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"baea6f70-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616986,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Nn0.1BZWuhFRKNSoYXm8KK3DzMMeMAhUOVYaXmaJzrcSINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"baea6f70-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:04.356555020Z"}]},"request_id":"d06d8b3a-1394-4923-ae39-747bd97664ba","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.1503656} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"baea6f70-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:04.173218327Z"}]},"request_id":"c7758847-a224-4813-b0e6-728d0ca98a4d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.1527004} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"baea4860-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7087544c-6ae8-4fe6-859b-441cddbfa039","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.154975} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.243729,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"baee6710-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","method":"POST","requestID":"baee6710-0fec-11f0-b95a-67cf87457f46","responseTime":18,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"baea6f70-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c? 200 48ms","method":"GET","requestID":"baea6f70-0fec-11f0-b95a-67cf87457f46","responseTime":48,"status":200,"url":"/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"baea4860-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c? 200 50ms","method":"GET","requestID":"baea4860-0fec-11f0-b95a-67cf87457f46","responseTime":50,"status":200,"url":"/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe8661e3d-b960-40cd-b72d-80302a904dcc#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe8661e3d-b960-40cd-b72d-80302a904dcc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"9bbab74e-f457-4c67-a8b4-0dafef39af88","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.1859665} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"baee6710-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52480256-b24f-4eb3-84a9-c97edc2f329b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.1863046} device-1 | {"level":"info","message":"POST /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/signaling 200 50ms","method":"POST","requestID":"baee6710-0fec-11f0-b95a-67cf87457f46","responseTime":50,"status":200,"url":"/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"845c7f655c60f971e376b7df266ba7f6","responseTime":44,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"baf67d60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"baf6cb80-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4442df55-85d9-4181-a873-dbf2834fdf8d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.1957283} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.038586,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:07Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"845c7f655c60f971e376b7df266ba7f6"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"baf67d60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","object_type":"device","rebac_allow":false,"scope_allow":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":"baf67d60-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:18:03:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.280","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"845c7f655c60f971e376b7df266ba7f6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 250ms","method":"POST","requestID":"845c7f655c60f971e376b7df266ba7f6","responseTime":250,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bead0e37-42a4-4155-88ab-50dcd7705cfb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.197426} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.832635,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:07Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"baf67d60-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"baf6cb80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"POST /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/signaling 200 12ms","method":"POST","requestID":"baf67d60-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"baf6cb80-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4N30.dR3AyZz-Z4XQUM0-9K3L8iZyBolVRDEDRjUlL5D_TVc","level":"info","message":"auth send jwt","requestID":"f3866d008a35e7fcb78687c1b4ae1a14"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f3866d008a35e7fcb78687c1b4ae1a14","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"baf8a040-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"baf6cb80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c/signaling 200 14ms","method":"POST","requestID":"baf6cb80-0fec-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f3866d008a35e7fcb78687c1b4ae1a14"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6be80bec-be10-464f-af20-832acddf3f73","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.2335358} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.868941,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.980826,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f3866d008a35e7fcb78687c1b4ae1a14","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616987,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4N30.dR3AyZz-Z4XQUM0-9K3L8iZyBolVRDEDRjUlL5D_TVc"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"f3866d008a35e7fcb78687c1b4ae1a14","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"baf8a040-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","object_type":"device","rebac_allow":false,"scope_allow":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":"baf8a040-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"baf8a040-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:04.173218327Z"}]},"request_id":"536dfa6a-f2bf-4299-9263-447c58df011a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.2387588} device-1 | {"level":"info","message":"POST /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c/signaling 200 35ms","method":"POST","requestID":"baf8a040-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f3866d008a35e7fcb78687c1b4ae1a14","responseTime":4,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Building connection plan","requestID":"845c7f655c60f971e376b7df266ba7f6"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"38e6b97c-d452-457b-87f0-17c7e981a56b"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"69e3180f-5fab-43f4-bdc1-0640ea6dfeb1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e3d1dbac-d1c2-4093-a42a-b330d27ee459"}]},"level":"info","message":"Built pairwise service configurations","requestID":"845c7f655c60f971e376b7df266ba7f6"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"845c7f655c60f971e376b7df266ba7f6"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"bafe93b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f3866d008a35e7fcb78687c1b4ae1a14"} gateway-1 | {"time_local":"02/Apr/2025:18:03:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c? 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":"f3866d008a35e7fcb78687c1b4ae1a14"} device-1 | {"level":"info","message":"GET /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c? 200 38ms","method":"GET","requestID":"f3866d008a35e7fcb78687c1b4ae1a14","responseTime":38,"status":200,"url":"/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c?"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.737363,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bafe93b0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616986,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4Nn0.1BZWuhFRKNSoYXm8KK3DzMMeMAhUOVYaXmaJzrcSINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bafe93b0-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4N30.dR3AyZz-Z4XQUM0-9K3L8iZyBolVRDEDRjUlL5D_TVc","level":"info","message":"auth send jwt","requestID":"a006e1bc659ae43a09c7fcf6e7adb5d8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a006e1bc659ae43a09c7fcf6e7adb5d8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a006e1bc659ae43a09c7fcf6e7adb5d8"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713843,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"a006e1bc659ae43a09c7fcf6e7adb5d8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616987,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4N30.dR3AyZz-Z4XQUM0-9K3L8iZyBolVRDEDRjUlL5D_TVc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a006e1bc659ae43a09c7fcf6e7adb5d8","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:04.356555020Z"}]},"request_id":"2b65979c-4d04-45b8-a468-7c5ceceb38fc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.2820444} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"a006e1bc659ae43a09c7fcf6e7adb5d8","responseTime":29,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"3aef4a1d-12bc-447b-a0c8-45aa149ed953","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.2842064} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c72e146e-91ae-4cad-953f-0eb687c0d906","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.287007} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a006e1bc659ae43a09c7fcf6e7adb5d8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"bafe93b0-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/relations/update"} gateway-1 | {"time_local":"02/Apr/2025:18:03:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c? 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":"a006e1bc659ae43a09c7fcf6e7adb5d8"} device-1 | {"level":"info","message":"GET /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c? 200 38ms","method":"GET","requestID":"a006e1bc659ae43a09c7fcf6e7adb5d8","responseTime":38,"status":200,"url":"/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"bafe93b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"bafe93b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a'","requestID":"bafe93b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a'","requestID":"bafe93b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"bafe93b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 93ms","method":"POST","requestID":"bafe93b0-0fec-11f0-b95a-67cf87457f46","responseTime":93,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"bafe93b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a","device":"8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"845c7f655c60f971e376b7df266ba7f6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb1501e0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83721ade-8fac-4e21-ab05-22214444fc0f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.3959873} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.368843,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bb1501e0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","object_type":"device","rebac_allow":false,"scope_allow":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":"bb1501e0-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"device":"8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb1501e0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/signaling 200 37ms","method":"POST","requestID":"bb1501e0-0fec-11f0-b95a-67cf87457f46","responseTime":37,"status":200,"url":"/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/signaling"} device-1 | {"content":{"canTrickle":true},"device":"8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb1b4370-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70e24623-d2b0-4bd8-863e-1a9c19ae4fc9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616987.4361985} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.149401,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bb1b4370-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","object_type":"device","rebac_allow":false,"scope_allow":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":"bb1b4370-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb1b4370-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c/signaling 200 10ms","method":"POST","requestID":"bb1b4370-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c/signaling"} device-1 | {"device":"de9f32b1-7762-458e-adbe-c4af6d0ecc5c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"f7f07384-8b14-4fd9-a568-a852970bce4a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 4471929935480804888 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:JKBq\r\na=ice-pwd:bXPfTiyscOqrqDoUVT/Ei1kc\r\na=ice-options:trickle\r\na=fingerprint:sha-256 08:89:8D:53:07:7D:D5:E6:E9:B0:C4:DD:5D:E8:3B:0E:60:5E:C9:9B:48:D7:FC:98:FD:A8:FF:B9:43:FD:40:0F\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3754049356 1 udp 2113937151 522ab08e-f1df-48d8-afe4-b4fea43218f0.local 33999 typ host generation 0 ufrag JKBq network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f7f07384-8b14-4fd9-a568-a852970bce4a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cc220a70fcce8e697309d0e3f0eb69a7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"cc220a70fcce8e697309d0e3f0eb69a7","responseTime":25,"status":200,"url":"/auth"} device-1 | {"device":"de9f32b1-7762-458e-adbe-c4af6d0ecc5c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"de9f32b1-7762-458e-adbe-c4af6d0ecc5c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"de9f32b1-7762-458e-adbe-c4af6d0ecc5c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"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/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a"}}},"level":"info","message":"received a callback","requestID":"cc220a70fcce8e697309d0e3f0eb69a7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"cc220a70fcce8e697309d0e3f0eb69a7","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"cc220a70fcce8e697309d0e3f0eb69a7"} device-1 | {"data":{"peerconnection":"f7f07384-8b14-4fd9-a568-a852970bce4a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"de9f32b1-7762-458e-adbe-c4af6d0ecc5c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"de9f32b1-7762-458e-adbe-c4af6d0ecc5c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"f7f07384-8b14-4fd9-a568-a852970bce4a","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","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/f7f07384-8b14-4fd9-a568-a852970bce4a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f7f07384-8b14-4fd9-a568-a852970bce4a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8a83aeac3e43d932f7cb36316f7b6f12","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8a83aeac3e43d932f7cb36316f7b6f12","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/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a"}}},"level":"info","message":"received a callback","requestID":"8a83aeac3e43d932f7cb36316f7b6f12"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"bc5ceb30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff7f07384-8b14-4fd9-a568-a852970bce4a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13f2cb39-2ac5-452b-8a08-3ae154b0c0af","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616989.5431564} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.312152,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bc5ceb30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a","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":"bc5ceb30-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"bc5ceb30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a 200 8ms","method":"GET","requestID":"bc5ceb30-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 77ms","method":"POST","requestID":"8a83aeac3e43d932f7cb36316f7b6f12","responseTime":77,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.079","http_referrer":"","http_user_agent":"node-fetch","requestID":"8a83aeac3e43d932f7cb36316f7b6f12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bc643e30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"065dc217-0f10-4b0d-b0f4-6caa98de9f1e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616989.5921705} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.312098,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bc643e30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bc643e30-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bc643e30-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4OX0.lrTaIOAjD_8vcyQ7xz9pKhNaTsejYXwTXdpk8sedj54","level":"info","message":"auth send jwt","requestID":"bbaa76d63390966ab4eae304e66bc8d9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bbaa76d63390966ab4eae304e66bc8d9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e8661e3d-b960-40cd-b72d-80302a904dcc","requestID":"bbaa76d63390966ab4eae304e66bc8d9"} device-1 | {"level":"info","message":"POST /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/signaling 200 14ms","method":"POST","requestID":"bc643e30-0fec-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bc666110-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be91434b-6a6e-4296-b1ff-a1258b8cf6b6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616989.607268} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.93768,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.045174,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bbaa76d63390966ab4eae304e66bc8d9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616989,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4OX0.lrTaIOAjD_8vcyQ7xz9pKhNaTsejYXwTXdpk8sedj54"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"bbaa76d63390966ab4eae304e66bc8d9","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bc666110-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","object_type":"device","rebac_allow":false,"scope_allow":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":"bc666110-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bc666110-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c/signaling 200 39ms","method":"POST","requestID":"bc666110-0fec-11f0-b95a-67cf87457f46","responseTime":39,"status":200,"url":"/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e8661e3d-b960-40cd-b72d-80302a904dcc","requestID":"bbaa76d63390966ab4eae304e66bc8d9"} gateway-1 | {"time_local":"02/Apr/2025:18:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e8661e3d-b960-40cd-b72d-80302a904dcc HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bbaa76d63390966ab4eae304e66bc8d9"} experiment-1 | {"level":"info","message":"GET /experiments/e8661e3d-b960-40cd-b72d-80302a904dcc 200 41ms","method":"GET","requestID":"bbaa76d63390966ab4eae304e66bc8d9","responseTime":41,"status":200,"url":"/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4OX0.lrTaIOAjD_8vcyQ7xz9pKhNaTsejYXwTXdpk8sedj54","level":"info","message":"auth send jwt","requestID":"77b912fa607dcc0a2381063d6add28bd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"77b912fa607dcc0a2381063d6add28bd","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e8661e3d-b960-40cd-b72d-80302a904dcc","requestID":"77b912fa607dcc0a2381063d6add28bd"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.683825,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"77b912fa607dcc0a2381063d6add28bd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616989,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4OX0.lrTaIOAjD_8vcyQ7xz9pKhNaTsejYXwTXdpk8sedj54"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"77b912fa607dcc0a2381063d6add28bd","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Attempting to finish experiment","requestID":"77b912fa607dcc0a2381063d6add28bd"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"bc6eec90-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":21.070311,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bc6eec90-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616989,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4OX0.lrTaIOAjD_8vcyQ7xz9pKhNaTsejYXwTXdpk8sedj54"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"bc6eec90-0fec-11f0-b95a-67cf87457f46","responseTime":24,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a","device":"8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"de9f32b1-7762-458e-adbe-c4af6d0ecc5c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"de9f32b1-7762-458e-adbe-c4af6d0ecc5c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"de9f32b1-7762-458e-adbe-c4af6d0ecc5c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f7f07384-8b14-4fd9-a568-a852970bce4a","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bf8eb0c6f3dc5ea7aef7f10ca1a0558a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"bf8eb0c6f3dc5ea7aef7f10ca1a0558a","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9cc4e812b3e85c316fe28edbfe770c0b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9cc4e812b3e85c316fe28edbfe770c0b","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e55751b-74bb-40dc-96c6-00566717ee00","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616989.6969993} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff7f07384-8b14-4fd9-a568-a852970bce4a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff7f07384-8b14-4fd9-a568-a852970bce4a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"4d6f10ce-9419-43f6-bdf7-13fc436d8f21","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616989.697424} 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/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a"}}},"level":"info","message":"received a callback","requestID":"bf8eb0c6f3dc5ea7aef7f10ca1a0558a"} 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/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a"}}},"level":"info","message":"received a callback","requestID":"9cc4e812b3e85c316fe28edbfe770c0b"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"bc6eec90-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"f7f07384-8b14-4fd9-a568-a852970bce4a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"bc6eec90-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a 204 89ms","method":"DELETE","requestID":"bc6eec90-0fec-11f0-b95a-67cf87457f46","responseTime":89,"status":204,"url":"/peerconnections/f7f07384-8b14-4fd9-a568-a852970bce4a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"},"level":"info","message":"Successfully finished experiment","requestID":"77b912fa607dcc0a2381063d6add28bd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bc855ac0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4cdd0b9-a243-4e3d-b217-df80377711a7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616989.8294463} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.605217,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bc855ac0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bc855ac0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bc855ac0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/signaling 200 31ms","method":"POST","requestID":"bc855ac0-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe8661e3d-b960-40cd-b72d-80302a904dcc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe8661e3d-b960-40cd-b72d-80302a904dcc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"53422222-af50-43e1-a280-ce1a11b8dc5e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616989.8369007} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2596d65b-a8c6-4964-99d1-801e22fd9f98","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616989.8370354} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bc8a63d0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"77b912fa607dcc0a2381063d6add28bd","responseTime":35,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde9f32b1-7762-458e-adbe-c4af6d0ecc5c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35876b06-56eb-4bcc-a916-a17d3262a923","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616989.8421106} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.619092,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bc8a63d0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bc8a63d0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bc8a63d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c/signaling 200 10ms","method":"POST","requestID":"bc8a63d0-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/de9f32b1-7762-458e-adbe-c4af6d0ecc5c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e8661e3d-b960-40cd-b72d-80302a904dcc","requestID":"77b912fa607dcc0a2381063d6add28bd"} gateway-1 | {"time_local":"02/Apr/2025:18:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e8661e3d-b960-40cd-b72d-80302a904dcc HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.291","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77b912fa607dcc0a2381063d6add28bd"} gateway-1 | {"time_local":"02/Apr/2025:18:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2290","request_time":"3.991","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"949cb410698db5d2f10abd4cc9844441"} experiment-1 | {"level":"info","message":"DELETE /experiments/e8661e3d-b960-40cd-b72d-80302a904dcc 204 289ms","method":"DELETE","requestID":"77b912fa607dcc0a2381063d6add28bd","responseTime":289,"status":204,"url":"/experiments/e8661e3d-b960-40cd-b72d-80302a904dcc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 242ms","method":"POST","requestID":"bf8eb0c6f3dc5ea7aef7f10ca1a0558a","responseTime":242,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.245","http_referrer":"","http_user_agent":"node-fetch","requestID":"bf8eb0c6f3dc5ea7aef7f10ca1a0558a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 242ms","method":"POST","requestID":"9cc4e812b3e85c316fe28edbfe770c0b","responseTime":242,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4OX0.lrTaIOAjD_8vcyQ7xz9pKhNaTsejYXwTXdpk8sedj54","level":"info","message":"auth send jwt","requestID":"79a51cf376baf1a9dbd2fa81130e1cf5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"79a51cf376baf1a9dbd2fa81130e1cf5","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.247","http_referrer":"","http_user_agent":"node-fetch","requestID":"9cc4e812b3e85c316fe28edbfe770c0b"} device-1 | {"level":"info","message":"postDevices called","requestID":"79a51cf376baf1a9dbd2fa81130e1cf5"} gateway-1 | {"time_local":"02/Apr/2025:18:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2162","request_time":"3.150","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c60e740635121b6061df7dbdadc48d2c"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.927157,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"79a51cf376baf1a9dbd2fa81130e1cf5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616989,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk4OX0.lrTaIOAjD_8vcyQ7xz9pKhNaTsejYXwTXdpk8sedj54"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"79a51cf376baf1a9dbd2fa81130e1cf5","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/de9f32b1-7762-458e-adbe-c4af6d0ecc5c' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8272ce17-0bac-46f4-bde2-c69bfa4f0a8c' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"41f9f3dc-ac2e-49d8-894e-6234e0451c6c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616990.0300674} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"79a51cf376baf1a9dbd2fa81130e1cf5","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5b3da44-a648-4746-a8a3-bebcfaf86dd1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616990.036017} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"79a51cf376baf1a9dbd2fa81130e1cf5","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"a75c5b8b-7377-43aa-b5e0-bf1ccade0e82","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616990.0653036} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d77b5a9-fd68-488a-baf1-f56f88283839","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616990.0655882} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"79a51cf376baf1a9dbd2fa81130e1cf5","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:10.065289232Z"}]},"request_id":"c6f5b1f2-30d0-4f00-8b8e-ea56cc4f924e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616990.0711367} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"79a51cf376baf1a9dbd2fa81130e1cf5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"79a51cf376baf1a9dbd2fa81130e1cf5"} gateway-1 | {"time_local":"02/Apr/2025:18:03:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"79a51cf376baf1a9dbd2fa81130e1cf5"} device-1 | {"level":"info","message":"POST /devices? 201 130ms","method":"POST","requestID":"79a51cf376baf1a9dbd2fa81130e1cf5","responseTime":130,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5MH0.oJ7eVWFkZu_qmXRqvhPKG5pdn30e3dYBU0LcGPJNJfQ","level":"info","message":"auth send jwt","requestID":"04198b64c30cdc3fd94ddafe74492149"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"04198b64c30cdc3fd94ddafe74492149","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"04198b64c30cdc3fd94ddafe74492149"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:10Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.863939,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"04198b64c30cdc3fd94ddafe74492149","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616990,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5MH0.oJ7eVWFkZu_qmXRqvhPKG5pdn30e3dYBU0LcGPJNJfQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"04198b64c30cdc3fd94ddafe74492149","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fe5f95fc-c6a0-48bd-8579-389273ab6b21","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616990.1244164} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"04198b64c30cdc3fd94ddafe74492149","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11ffa68d-9ad3-4148-8cd4-1579f2673688","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616990.1292872} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"04198b64c30cdc3fd94ddafe74492149","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"7e5653d4-566b-4dd6-a66d-f225f407824d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616990.1640017} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8bd68ba-93b3-4e7c-8866-61681bfc9a5e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616990.1641874} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"04198b64c30cdc3fd94ddafe74492149","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:10.163987064Z"}]},"request_id":"2056540e-be77-4538-9cee-22b68e4065d7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616990.1684065} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"04198b64c30cdc3fd94ddafe74492149","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"04198b64c30cdc3fd94ddafe74492149"} device-1 | {"level":"info","message":"POST /devices? 201 91ms","method":"POST","requestID":"04198b64c30cdc3fd94ddafe74492149","responseTime":91,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04198b64c30cdc3fd94ddafe74492149"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5MX0.82ciswy8q5fUXelYxbpb6NJ5bjCWUfhau71e8aer86o","level":"info","message":"auth send jwt","requestID":"c17bb5897e9292c3dac8b07cfd2be80f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c17bb5897e9292c3dac8b07cfd2be80f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c17bb5897e9292c3dac8b07cfd2be80f"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74993,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c17bb5897e9292c3dac8b07cfd2be80f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616991,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5MX0.82ciswy8q5fUXelYxbpb6NJ5bjCWUfhau71e8aer86o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c17bb5897e9292c3dac8b07cfd2be80f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:10.065289232Z"}]},"request_id":"5a15f258-2661-4db9-9c5c-f3de13d2a969","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616991.1367128} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c17bb5897e9292c3dac8b07cfd2be80f","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3dc79030-3a2f-4f73-a022-b0c62ae6a028","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616991.1420987} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c17bb5897e9292c3dac8b07cfd2be80f","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:10.065289232Z"}]},"request_id":"48785739-dcb8-4f96-8cd3-9e9fe6f712c9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616991.1763701} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c17bb5897e9292c3dac8b07cfd2be80f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c17bb5897e9292c3dac8b07cfd2be80f"} gateway-1 | {"time_local":"02/Apr/2025:18:03:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"c17bb5897e9292c3dac8b07cfd2be80f"} device-1 | {"level":"info","message":"PATCH /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3 200 52ms","method":"PATCH","requestID":"c17bb5897e9292c3dac8b07cfd2be80f","responseTime":52,"status":200,"url":"/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5MX0.82ciswy8q5fUXelYxbpb6NJ5bjCWUfhau71e8aer86o","level":"info","message":"auth send jwt","requestID":"70ad6df8cf58df64fc5380fe1ffc0c2b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"70ad6df8cf58df64fc5380fe1ffc0c2b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"70ad6df8cf58df64fc5380fe1ffc0c2b"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871707,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"70ad6df8cf58df64fc5380fe1ffc0c2b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616991,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5MX0.82ciswy8q5fUXelYxbpb6NJ5bjCWUfhau71e8aer86o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"70ad6df8cf58df64fc5380fe1ffc0c2b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"70ad6df8cf58df64fc5380fe1ffc0c2b"} gateway-1 | {"time_local":"02/Apr/2025:18:03:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"70ad6df8cf58df64fc5380fe1ffc0c2b"} device-1 | {"level":"info","message":"POST /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3/websocket 200 34ms","method":"POST","requestID":"70ad6df8cf58df64fc5380fe1ffc0c2b","responseTime":34,"status":200,"url":"/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"613734b34adf4c16c918343eefc1e028","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"613734b34adf4c16c918343eefc1e028","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/cdda2413-3fda-452a-afac-af1afccffae3/websocket 200 1ms","method":"OPTIONS","requestID":"613734b34adf4c16c918343eefc1e028","responseTime":1,"status":200,"url":"/devices/cdda2413-3fda-452a-afac-af1afccffae3/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:03:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/cdda2413-3fda-452a-afac-af1afccffae3/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":"613734b34adf4c16c918343eefc1e028"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5Mn0.cJgn40wVKyGAhPNYFBnha1Ml5Mv-vSmeHbbBp6mIAsA","level":"info","message":"auth send jwt","requestID":"0d6baa3d2d7aeef1ebfe5790d2aa6e5d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0d6baa3d2d7aeef1ebfe5790d2aa6e5d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0d6baa3d2d7aeef1ebfe5790d2aa6e5d"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69535,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0d6baa3d2d7aeef1ebfe5790d2aa6e5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616992,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5Mn0.cJgn40wVKyGAhPNYFBnha1Ml5Mv-vSmeHbbBp6mIAsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0d6baa3d2d7aeef1ebfe5790d2aa6e5d","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0d6baa3d2d7aeef1ebfe5790d2aa6e5d"} gateway-1 | {"time_local":"02/Apr/2025:18:03:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cdda2413-3fda-452a-afac-af1afccffae3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0d6baa3d2d7aeef1ebfe5790d2aa6e5d"} device-1 | {"level":"info","message":"POST /devices/cdda2413-3fda-452a-afac-af1afccffae3/websocket 200 42ms","method":"POST","requestID":"0d6baa3d2d7aeef1ebfe5790d2aa6e5d","responseTime":42,"status":200,"url":"/devices/cdda2413-3fda-452a-afac-af1afccffae3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5Mn0.cJgn40wVKyGAhPNYFBnha1Ml5Mv-vSmeHbbBp6mIAsA","level":"info","message":"auth send jwt","requestID":"0b07448fab7ef4ebd597b9ae5b5e749d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b07448fab7ef4ebd597b9ae5b5e749d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b07448fab7ef4ebd597b9ae5b5e749d"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696992,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0b07448fab7ef4ebd597b9ae5b5e749d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616992,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5Mn0.cJgn40wVKyGAhPNYFBnha1Ml5Mv-vSmeHbbBp6mIAsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0b07448fab7ef4ebd597b9ae5b5e749d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:10.065289232Z"}]},"request_id":"4b2a86cb-bca9-47e5-9bff-008afcc5484f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616992.6293297} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0b07448fab7ef4ebd597b9ae5b5e749d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b07448fab7ef4ebd597b9ae5b5e749d"} device-1 | {"level":"info","message":"GET /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3? 200 37ms","method":"GET","requestID":"0b07448fab7ef4ebd597b9ae5b5e749d","responseTime":37,"status":200,"url":"/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3? 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":"0b07448fab7ef4ebd597b9ae5b5e749d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5Mn0.cJgn40wVKyGAhPNYFBnha1Ml5Mv-vSmeHbbBp6mIAsA","level":"info","message":"auth send jwt","requestID":"6f4c866e76bd4ef039f0643db177796a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6f4c866e76bd4ef039f0643db177796a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6f4c866e76bd4ef039f0643db177796a"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686027,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"6f4c866e76bd4ef039f0643db177796a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616992,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5Mn0.cJgn40wVKyGAhPNYFBnha1Ml5Mv-vSmeHbbBp6mIAsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6f4c866e76bd4ef039f0643db177796a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:10.163987064Z"}]},"request_id":"0693222f-635f-4bfd-91f1-d1f7e1a8c3e7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616992.6699512} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6f4c866e76bd4ef039f0643db177796a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6f4c866e76bd4ef039f0643db177796a"} gateway-1 | {"time_local":"02/Apr/2025:18:03:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cdda2413-3fda-452a-afac-af1afccffae3? 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":"6f4c866e76bd4ef039f0643db177796a"} device-1 | {"level":"info","message":"GET /devices/cdda2413-3fda-452a-afac-af1afccffae3? 200 13ms","method":"GET","requestID":"6f4c866e76bd4ef039f0643db177796a","responseTime":13,"status":200,"url":"/devices/cdda2413-3fda-452a-afac-af1afccffae3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5Mn0.cJgn40wVKyGAhPNYFBnha1Ml5Mv-vSmeHbbBp6mIAsA","level":"info","message":"auth send jwt","requestID":"4909d54865fa22db9dc31c03fa4d8984"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4909d54865fa22db9dc31c03fa4d8984","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:12Z"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4909d54865fa22db9dc31c03fa4d8984"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.776746,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4909d54865fa22db9dc31c03fa4d8984","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616992,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5Mn0.cJgn40wVKyGAhPNYFBnha1Ml5Mv-vSmeHbbBp6mIAsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4909d54865fa22db9dc31c03fa4d8984","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Attempting to run experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Attempting to book experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Successfully booked experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be4a1530-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be4a6350-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.837611,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"be4a1530-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616992,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5Mn0.cJgn40wVKyGAhPNYFBnha1Ml5Mv-vSmeHbbBp6mIAsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"be4a1530-0fec-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.129504,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"be4a6350-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616992,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5Mn0.cJgn40wVKyGAhPNYFBnha1Ml5Mv-vSmeHbbBp6mIAsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"be4a6350-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:10.065289232Z"}]},"request_id":"1a38aa28-ec68-4ba9-8297-f6ef8af43d6c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616992.8055944} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"be4a1530-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:10.163987064Z"}]},"request_id":"a15c49a1-814d-4189-8397-b0234c8e16bd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616992.806448} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"be4a6350-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be4a1530-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3? 200 41ms","method":"GET","requestID":"be4a1530-0fec-11f0-b95a-67cf87457f46","responseTime":41,"status":200,"url":"/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be4a6350-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/cdda2413-3fda-452a-afac-af1afccffae3? 200 40ms","method":"GET","requestID":"be4a6350-0fec-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/devices/cdda2413-3fda-452a-afac-af1afccffae3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Setting up experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Successfully set up experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be5eaea0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be5ed5b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be5f23d0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.899357,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"be5eaea0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616992,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5Mn0.cJgn40wVKyGAhPNYFBnha1Ml5Mv-vSmeHbbBp6mIAsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"be5eaea0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Successfully running experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.758609,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"be5ed5b0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616992,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5Mn0.cJgn40wVKyGAhPNYFBnha1Ml5Mv-vSmeHbbBp6mIAsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"be5ed5b0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.951719,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bda332eb-5eac-4eb9-95b9-b715c61fb11d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616992.9154847} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"be5f23d0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","object_type":"device","rebac_allow":false,"scope_allow":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":"be5f23d0-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:10.163987064Z"}]},"request_id":"da77824c-d67d-4353-b826-b1ee7c47665e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616992.9183517} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"be5ed5b0-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be5f23d0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:10.065289232Z"}]},"request_id":"69dd4768-3f80-4d30-89bf-e6aa731274a9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616992.9206724} device-1 | {"level":"info","message":"POST /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3/signaling 200 36ms","method":"POST","requestID":"be5f23d0-0fec-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"be5eaea0-0fec-11f0-b95a-67cf87457f46","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be656560-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be5ed5b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/cdda2413-3fda-452a-afac-af1afccffae3? 200 54ms","method":"GET","requestID":"be5ed5b0-0fec-11f0-b95a-67cf87457f46","responseTime":54,"status":200,"url":"/devices/cdda2413-3fda-452a-afac-af1afccffae3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be5eaea0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3? 200 57ms","method":"GET","requestID":"be5eaea0-0fec-11f0-b95a-67cf87457f46","responseTime":57,"status":200,"url":"/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a2065d8-5f9e-4ca9-8681-ebde25043b85","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616992.962116} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F756e72a9-af0b-4472-928b-2c714a8fce07#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F756e72a9-af0b-4472-928b-2c714a8fce07","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"8b4297d5-3b3a-4a30-8eb1-1900a6e77da4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616992.9624283} authorization-1 | {"level":"info","message":"POST /relations/update 200 53ms","method":"POST","requestID":"4909d54865fa22db9dc31c03fa4d8984","responseTime":53,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":29.727312,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:12Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4cf9a8e2-ec6e-4586-afce-7f6bf68883fd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616992.9677389} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"be656560-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"be656560-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4909d54865fa22db9dc31c03fa4d8984"} experiment-1 | {"level":"info","message":"POST /experiments? 201 297ms","method":"POST","requestID":"4909d54865fa22db9dc31c03fa4d8984","responseTime":297,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.324","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4909d54865fa22db9dc31c03fa4d8984"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be6e6610-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:13Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be656560-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e49ec7e-245f-4cf9-abc5-7b9731807be7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616993.015151} device-1 | {"level":"info","message":"POST /devices/cdda2413-3fda-452a-afac-af1afccffae3/signaling 200 65ms","method":"POST","requestID":"be656560-0fec-11f0-b95a-67cf87457f46","responseTime":65,"status":200,"url":"/devices/cdda2413-3fda-452a-afac-af1afccffae3/signaling"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.980145,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"be6e6610-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5M30.stNCEOsmIdEg5u3h0mSaFOseZGeaBosnLjTEHqhJhQY","level":"info","message":"auth send jwt","requestID":"403339ae05819b94996ad9a76f583b06"} authentication-1 | {"level":"info","message":"GET /auth 200 33ms","method":"GET","requestID":"403339ae05819b94996ad9a76f583b06","responseTime":33,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"be6e6610-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"403339ae05819b94996ad9a76f583b06"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:13Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.046905,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:13Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be6e6610-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"403339ae05819b94996ad9a76f583b06","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616993,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5M30.stNCEOsmIdEg5u3h0mSaFOseZGeaBosnLjTEHqhJhQY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"403339ae05819b94996ad9a76f583b06","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3/signaling 200 42ms","method":"POST","requestID":"be6e6610-0fec-11f0-b95a-67cf87457f46","responseTime":42,"status":200,"url":"/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be7543e0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:10.065289232Z"}]},"request_id":"0b055a62-9876-48df-8a69-cb76856a218b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616993.0561004} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"403339ae05819b94996ad9a76f583b06","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:13Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7621e83f-63af-4bf8-bc20-5567b71a37aa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616993.059099} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.761299,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:13Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"403339ae05819b94996ad9a76f583b06"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"be7543e0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"02/Apr/2025:18:03:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"403339ae05819b94996ad9a76f583b06"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"be7543e0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3? 200 18ms","method":"GET","requestID":"403339ae05819b94996ad9a76f583b06","responseTime":18,"status":200,"url":"/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be7543e0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/cdda2413-3fda-452a-afac-af1afccffae3/signaling 200 10ms","method":"POST","requestID":"be7543e0-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/cdda2413-3fda-452a-afac-af1afccffae3/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Building connection plan","requestID":"4909d54865fa22db9dc31c03fa4d8984"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"b58f5201-f29c-4f44-8db1-e3265c04e713"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"6653a32c-fd18-4dc4-851a-a7d008050388"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1c6c0412-e497-49e3-8ba7-973fb7f6aaea"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4909d54865fa22db9dc31c03fa4d8984"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4909d54865fa22db9dc31c03fa4d8984"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"be773fb0-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5M30.stNCEOsmIdEg5u3h0mSaFOseZGeaBosnLjTEHqhJhQY","level":"info","message":"auth send jwt","requestID":"83cd5a3d6f90f23740ecba1a823e4138"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"83cd5a3d6f90f23740ecba1a823e4138","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:13Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"83cd5a3d6f90f23740ecba1a823e4138"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.916765,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"be773fb0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616992,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5Mn0.cJgn40wVKyGAhPNYFBnha1Ml5Mv-vSmeHbbBp6mIAsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"be773fb0-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:13Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719405,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"83cd5a3d6f90f23740ecba1a823e4138","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616993,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5M30.stNCEOsmIdEg5u3h0mSaFOseZGeaBosnLjTEHqhJhQY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"83cd5a3d6f90f23740ecba1a823e4138","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:10.163987064Z"}]},"request_id":"5ade1e56-fa45-4638-9cf9-ba74ba192ec6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616993.0997891} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"83cd5a3d6f90f23740ecba1a823e4138","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"83cd5a3d6f90f23740ecba1a823e4138"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"e00be2ee-8ed1-4d25-818a-371884fbe830","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616993.1039505} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e5619292-de5f-469f-8eba-74ae62d4b2f2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616993.1043165} gateway-1 | {"time_local":"02/Apr/2025:18:03:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cdda2413-3fda-452a-afac-af1afccffae3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83cd5a3d6f90f23740ecba1a823e4138"} device-1 | {"level":"info","message":"GET /devices/cdda2413-3fda-452a-afac-af1afccffae3? 200 14ms","method":"GET","requestID":"83cd5a3d6f90f23740ecba1a823e4138","responseTime":14,"status":200,"url":"/devices/cdda2413-3fda-452a-afac-af1afccffae3?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"be773fb0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"be773fb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"be773fb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada'","requestID":"be773fb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada'","requestID":"be773fb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"be773fb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 78ms","method":"POST","requestID":"be773fb0-0fec-11f0-b95a-67cf87457f46","responseTime":78,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"be773fb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada","device":"cdda2413-3fda-452a-afac-af1afccffae3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4909d54865fa22db9dc31c03fa4d8984"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be8b3ce0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:13Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0228528-e6d7-4db6-91f5-9a64d508ecbf","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616993.201967} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.297505,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"be8b3ce0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","object_type":"device","rebac_allow":false,"scope_allow":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":"be8b3ce0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be8b3ce0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3/signaling 200 8ms","method":"POST","requestID":"be8b3ce0-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be909410-0fec-11f0-b95a-67cf87457f46"} device-1 | {"device":"cdda2413-3fda-452a-afac-af1afccffae3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"cdda2413-3fda-452a-afac-af1afccffae3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:13Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb88d710-bd3e-47f0-a5f5-d59caf25895a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616993.2383034} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.120029,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"be909410-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"be909410-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be909410-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/cdda2413-3fda-452a-afac-af1afccffae3/signaling 200 12ms","method":"POST","requestID":"be909410-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/cdda2413-3fda-452a-afac-af1afccffae3/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 3989412748342746798 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:pG4u\r\na=ice-pwd:uwvdmgY6LqvZAcfGdCpV2tfT\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D1:14:68:27:E9:E7:DF:CC:27:A6:7A:4C:29:BF:74:D7:A1:0F:8B:0F:41:C2:FD:11:36:F3:64:17:55:E6:40:22\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"cdda2413-3fda-452a-afac-af1afccffae3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"cdda2413-3fda-452a-afac-af1afccffae3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"db6014c9-4fb8-469d-b3e2-66309dc2d7f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3bf1c986-0e7d-4682-a106-700a17a18ada","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"db6014c9-4fb8-469d-b3e2-66309dc2d7f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"db6014c9-4fb8-469d-b3e2-66309dc2d7f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"db6014c9-4fb8-469d-b3e2-66309dc2d7f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"db6014c9-4fb8-469d-b3e2-66309dc2d7f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3bf1c986-0e7d-4682-a106-700a17a18ada","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6a60aa956815dd2b840f3926bdaa9d9c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6a60aa956815dd2b840f3926bdaa9d9c","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/db6014c9-4fb8-469d-b3e2-66309dc2d7f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada"}}},"level":"info","message":"received a callback","requestID":"6a60aa956815dd2b840f3926bdaa9d9c"} device-1 | {"content":{"candidate":"candidate:3411196762 1 udp 2113937151 a38b0d22-00c8-46e3-956d-b6ced16da212.local 46287 typ host generation 0 ufrag pG4u network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"cdda2413-3fda-452a-afac-af1afccffae3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} gateway-1 | {"time_local":"02/Apr/2025:18:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"6a60aa956815dd2b840f3926bdaa9d9c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"6a60aa956815dd2b840f3926bdaa9d9c","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"cdda2413-3fda-452a-afac-af1afccffae3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"db6014c9-4fb8-469d-b3e2-66309dc2d7f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3bf1c986-0e7d-4682-a106-700a17a18ada","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"cdda2413-3fda-452a-afac-af1afccffae3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"db6014c9-4fb8-469d-b3e2-66309dc2d7f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3bf1c986-0e7d-4682-a106-700a17a18ada","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/3bf1c986-0e7d-4682-a106-700a17a18ada' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3bf1c986-0e7d-4682-a106-700a17a18ada","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2425151537b04c6db54707ae5a3ceb23","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2425151537b04c6db54707ae5a3ceb23","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/db6014c9-4fb8-469d-b3e2-66309dc2d7f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada"}}},"level":"info","message":"received a callback","requestID":"2425151537b04c6db54707ae5a3ceb23"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"bfcc9680-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3bf1c986-0e7d-4682-a106-700a17a18ada","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0ebcf7f-8021-4ab2-ae24-f73c21888ff2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.3080375} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.28272,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bfcc9680-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada","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":"bfcc9680-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"bfcc9680-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada 200 8ms","method":"GET","requestID":"bfcc9680-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 57ms","method":"POST","requestID":"2425151537b04c6db54707ae5a3ceb23","responseTime":57,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5NX0.T48SDOzz9scnMeJ29Tx2Ukm1Hxow2KpWvU2O0Ch-e7w","level":"info","message":"auth send jwt","requestID":"66058b90dd84533dec80c62eb4f287fb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"66058b90dd84533dec80c62eb4f287fb","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch","requestID":"2425151537b04c6db54707ae5a3ceb23"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bfd4d3e0-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/756e72a9-af0b-4472-928b-2c714a8fce07","requestID":"66058b90dd84533dec80c62eb4f287fb"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0075ac7-a8c4-401b-a32a-bca01cc1b7db","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.3624399} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.660572,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.567544,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"66058b90dd84533dec80c62eb4f287fb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616995,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5NX0.T48SDOzz9scnMeJ29Tx2Ukm1Hxow2KpWvU2O0Ch-e7w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"66058b90dd84533dec80c62eb4f287fb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bfd4d3e0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","object_type":"device","rebac_allow":false,"scope_allow":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":"bfd4d3e0-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bfd4d3e0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3/signaling 200 35ms","method":"POST","requestID":"bfd4d3e0-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bfda7930-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/756e72a9-af0b-4472-928b-2c714a8fce07","requestID":"66058b90dd84533dec80c62eb4f287fb"} gateway-1 | {"time_local":"02/Apr/2025:18:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/756e72a9-af0b-4472-928b-2c714a8fce07 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"66058b90dd84533dec80c62eb4f287fb"} experiment-1 | {"level":"info","message":"GET /experiments/756e72a9-af0b-4472-928b-2c714a8fce07 200 38ms","method":"GET","requestID":"66058b90dd84533dec80c62eb4f287fb","responseTime":38,"status":200,"url":"/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed9934b9-1b8c-4090-886c-25ecafeef91f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.3996315} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.216391,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bfda7930-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5NX0.T48SDOzz9scnMeJ29Tx2Ukm1Hxow2KpWvU2O0Ch-e7w","level":"info","message":"auth send jwt","requestID":"22231c027a0e139dc1d4d5a4ac5662bf"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bfda7930-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"22231c027a0e139dc1d4d5a4ac5662bf","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/756e72a9-af0b-4472-928b-2c714a8fce07","requestID":"22231c027a0e139dc1d4d5a4ac5662bf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bfda7930-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/cdda2413-3fda-452a-afac-af1afccffae3/signaling 200 9ms","method":"POST","requestID":"bfda7930-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/cdda2413-3fda-452a-afac-af1afccffae3/signaling"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.946445,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"22231c027a0e139dc1d4d5a4ac5662bf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616995,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5NX0.T48SDOzz9scnMeJ29Tx2Ukm1Hxow2KpWvU2O0Ch-e7w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"22231c027a0e139dc1d4d5a4ac5662bf","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Attempting to finish experiment","requestID":"22231c027a0e139dc1d4d5a4ac5662bf"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"bfdcea30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.713848,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bfdcea30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616995,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5NX0.T48SDOzz9scnMeJ29Tx2Ukm1Hxow2KpWvU2O0Ch-e7w"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"bfdcea30-0fec-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada","device":"cdda2413-3fda-452a-afac-af1afccffae3","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/3bf1c986-0e7d-4682-a106-700a17a18ada' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3bf1c986-0e7d-4682-a106-700a17a18ada","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"db6014c9-4fb8-469d-b3e2-66309dc2d7f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3bf1c986-0e7d-4682-a106-700a17a18ada': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3bf1c986-0e7d-4682-a106-700a17a18ada","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"eedc6d2b-ff81-4958-8500-be3f6e3c4006","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.4572988} device-1 | {"device":"db6014c9-4fb8-469d-b3e2-66309dc2d7f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"db6014c9-4fb8-469d-b3e2-66309dc2d7f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5894cbcb22b8798468bc8ead09a390c9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5894cbcb22b8798468bc8ead09a390c9","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8344d98d-cccd-4b0e-a68e-27fb908cfd0a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.4579184} 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/db6014c9-4fb8-469d-b3e2-66309dc2d7f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada"}}},"level":"info","message":"received a callback","requestID":"5894cbcb22b8798468bc8ead09a390c9"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"81f9531feae85ac6428a47b5d5541e6a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"81f9531feae85ac6428a47b5d5541e6a","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"bfdcea30-0fec-11f0-b95a-67cf87457f46","responseTime":10,"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/db6014c9-4fb8-469d-b3e2-66309dc2d7f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada"}}},"level":"info","message":"received a callback","requestID":"81f9531feae85ac6428a47b5d5541e6a"} device-1 | {"data":{"peerconnection":"3bf1c986-0e7d-4682-a106-700a17a18ada","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"bfdcea30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada 204 92ms","method":"DELETE","requestID":"bfdcea30-0fec-11f0-b95a-67cf87457f46","responseTime":92,"status":204,"url":"/peerconnections/3bf1c986-0e7d-4682-a106-700a17a18ada"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"},"level":"info","message":"Successfully finished experiment","requestID":"22231c027a0e139dc1d4d5a4ac5662bf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bff0e760-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb6014c9-4fb8-469d-b3e2-66309dc2d7f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c99f3a8a-f9cf-41d4-a22e-96d2842de93e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.5473351} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.99019,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bff0e760-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3","object_type":"device","rebac_allow":false,"scope_allow":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":"bff0e760-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bff0e760-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3/signaling 200 12ms","method":"POST","requestID":"bff0e760-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F756e72a9-af0b-4472-928b-2c714a8fce07': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F756e72a9-af0b-4472-928b-2c714a8fce07","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"581eba7d-de46-4d72-875e-97eb1a1cd2a2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.5536208} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"470bc431-dbb0-45af-988b-f00af6eeed57","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.5551054} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bff35860-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"22231c027a0e139dc1d4d5a4ac5662bf","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdda2413-3fda-452a-afac-af1afccffae3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c9af34e-64cd-4be9-9ed9-f2a0bd7b331e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.5899827} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.971223,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bff35860-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bff35860-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bff35860-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/cdda2413-3fda-452a-afac-af1afccffae3/signaling 200 36ms","method":"POST","requestID":"bff35860-0fec-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/cdda2413-3fda-452a-afac-af1afccffae3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/756e72a9-af0b-4472-928b-2c714a8fce07","requestID":"22231c027a0e139dc1d4d5a4ac5662bf"} gateway-1 | {"time_local":"02/Apr/2025:18:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/756e72a9-af0b-4472-928b-2c714a8fce07 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.283","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22231c027a0e139dc1d4d5a4ac5662bf"} experiment-1 | {"level":"info","message":"DELETE /experiments/756e72a9-af0b-4472-928b-2c714a8fce07 204 280ms","method":"DELETE","requestID":"22231c027a0e139dc1d4d5a4ac5662bf","responseTime":280,"status":204,"url":"/experiments/756e72a9-af0b-4472-928b-2c714a8fce07"} gateway-1 | {"time_local":"02/Apr/2025:18:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"4.463","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"58c94f8fccbbef37c1626bf8f4d41216"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5NX0.T48SDOzz9scnMeJ29Tx2Ukm1Hxow2KpWvU2O0Ch-e7w","level":"info","message":"auth send jwt","requestID":"2d64a7db2f7c73be11df895ca38038ce"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2d64a7db2f7c73be11df895ca38038ce","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 232ms","method":"POST","requestID":"5894cbcb22b8798468bc8ead09a390c9","responseTime":232,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.235","http_referrer":"","http_user_agent":"node-fetch","requestID":"5894cbcb22b8798468bc8ead09a390c9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 232ms","method":"POST","requestID":"81f9531feae85ac6428a47b5d5541e6a","responseTime":232,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.235","http_referrer":"","http_user_agent":"node-fetch","requestID":"81f9531feae85ac6428a47b5d5541e6a"} gateway-1 | {"time_local":"02/Apr/2025:18:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2157","request_time":"3.120","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e3d05f49058e009e035e44d4fc050768"} device-1 | {"level":"info","message":"postDevices called","requestID":"2d64a7db2f7c73be11df895ca38038ce"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.863348,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"2d64a7db2f7c73be11df895ca38038ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616995,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5NX0.T48SDOzz9scnMeJ29Tx2Ukm1Hxow2KpWvU2O0Ch-e7w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2d64a7db2f7c73be11df895ca38038ce","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/db6014c9-4fb8-469d-b3e2-66309dc2d7f3' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/cdda2413-3fda-452a-afac-af1afccffae3' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3fa4a478-5f29-4d06-9343-9793695b8e53","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.7449064} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"2d64a7db2f7c73be11df895ca38038ce","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ebfb1af3-38aa-4f05-b7a4-8c83f1739e61","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.7776668} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"2d64a7db2f7c73be11df895ca38038ce","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"46149113-dcf5-4e69-bd1d-677955697b73","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.7889333} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a2e6382-e886-4892-99d0-abf6f6881e9c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.7892118} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"2d64a7db2f7c73be11df895ca38038ce","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.788920559Z"}]},"request_id":"28c9dfca-97c6-4ada-bfd3-62f08b0eff4a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.7942781} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2d64a7db2f7c73be11df895ca38038ce","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2d64a7db2f7c73be11df895ca38038ce"} gateway-1 | {"time_local":"02/Apr/2025:18:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.111","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d64a7db2f7c73be11df895ca38038ce"} device-1 | {"level":"info","message":"POST /devices? 201 100ms","method":"POST","requestID":"2d64a7db2f7c73be11df895ca38038ce","responseTime":100,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5NX0.T48SDOzz9scnMeJ29Tx2Ukm1Hxow2KpWvU2O0Ch-e7w","level":"info","message":"auth send jwt","requestID":"5f7b76bbfe31b97dc1f645e295ad33d6"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"5f7b76bbfe31b97dc1f645e295ad33d6","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5f7b76bbfe31b97dc1f645e295ad33d6"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.740849,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"5f7b76bbfe31b97dc1f645e295ad33d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616995,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5NX0.T48SDOzz9scnMeJ29Tx2Ukm1Hxow2KpWvU2O0Ch-e7w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5f7b76bbfe31b97dc1f645e295ad33d6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b6377fd0-fa84-4e38-bccc-6d6e1b73706d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.8481336} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"5f7b76bbfe31b97dc1f645e295ad33d6","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b8ffafb-bcca-49ae-98a6-c8b9a95b8002","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.8791163} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"5f7b76bbfe31b97dc1f645e295ad33d6","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"9f4caccb-fd13-45a6-8666-f2662216a2aa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.890761} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e1f2001-c5a3-484f-865b-55d98033dc25","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.8909724} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"5f7b76bbfe31b97dc1f645e295ad33d6","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.890741819Z"}]},"request_id":"21fc4a30-9611-4913-a697-a6a04e3252c4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616995.8948884} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5f7b76bbfe31b97dc1f645e295ad33d6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5f7b76bbfe31b97dc1f645e295ad33d6"} device-1 | {"level":"info","message":"POST /devices? 201 96ms","method":"POST","requestID":"5f7b76bbfe31b97dc1f645e295ad33d6","responseTime":96,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.124","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f7b76bbfe31b97dc1f645e295ad33d6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs","level":"info","message":"auth send jwt","requestID":"8f9c9c75d6ff30f70780a1b281501daa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8f9c9c75d6ff30f70780a1b281501daa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8f9c9c75d6ff30f70780a1b281501daa"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.987425,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"8f9c9c75d6ff30f70780a1b281501daa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs","level":"info","message":"auth send jwt","requestID":"b2544af6f6f180c8eda070e494ec300d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b2544af6f6f180c8eda070e494ec300d","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8f9c9c75d6ff30f70780a1b281501daa","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b2544af6f6f180c8eda070e494ec300d"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.02512,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b2544af6f6f180c8eda070e494ec300d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b2544af6f6f180c8eda070e494ec300d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.788920559Z"}]},"request_id":"d38c7ad7-02aa-419d-8a49-f5b26618bf30","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.142112} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8f9c9c75d6ff30f70780a1b281501daa","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"126b2f9c-204a-48d9-b3b4-f686972b2433","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.1721692} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8f9c9c75d6ff30f70780a1b281501daa","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.890741819Z"}]},"request_id":"779e4de1-12cb-415c-b69f-5758f1a39f42","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.1734257} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b2544af6f6f180c8eda070e494ec300d","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa6e7578-2d0b-4261-8b8b-b658cb02daa3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.1792164} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b2544af6f6f180c8eda070e494ec300d","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.788920559Z"}]},"request_id":"51dc178b-5066-43af-ac59-45099ff5270d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.224862} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8f9c9c75d6ff30f70780a1b281501daa","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8f9c9c75d6ff30f70780a1b281501daa"} gateway-1 | {"time_local":"02/Apr/2025:18:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.103","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"8f9c9c75d6ff30f70780a1b281501daa"} device-1 | {"level":"info","message":"PATCH /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3 200 97ms","method":"PATCH","requestID":"8f9c9c75d6ff30f70780a1b281501daa","responseTime":97,"status":200,"url":"/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs","level":"info","message":"auth send jwt","requestID":"63e49017b8fcd247fbcfc98c853a6bbb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"63e49017b8fcd247fbcfc98c853a6bbb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"63e49017b8fcd247fbcfc98c853a6bbb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.890741819Z"}]},"request_id":"09bcc21a-35a0-497b-a389-96ff0138c7ac","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.2342384} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b2544af6f6f180c8eda070e494ec300d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670365,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b2544af6f6f180c8eda070e494ec300d"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"63e49017b8fcd247fbcfc98c853a6bbb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"63e49017b8fcd247fbcfc98c853a6bbb","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:18:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.106","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"b2544af6f6f180c8eda070e494ec300d"} device-1 | {"level":"info","message":"PATCH /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d 200 99ms","method":"PATCH","requestID":"b2544af6f6f180c8eda070e494ec300d","responseTime":99,"status":200,"url":"/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs","level":"info","message":"auth send jwt","requestID":"14c1747e19adbf9db4452321be134b09"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"14c1747e19adbf9db4452321be134b09","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"14c1747e19adbf9db4452321be134b09"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.750787,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"14c1747e19adbf9db4452321be134b09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"14c1747e19adbf9db4452321be134b09","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"63e49017b8fcd247fbcfc98c853a6bbb"} device-1 | {"level":"info","message":"POST /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3/websocket 200 49ms","method":"POST","requestID":"63e49017b8fcd247fbcfc98c853a6bbb","responseTime":49,"status":200,"url":"/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"63e49017b8fcd247fbcfc98c853a6bbb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"14c1747e19adbf9db4452321be134b09"} gateway-1 | {"time_local":"02/Apr/2025:18:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.077","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"14c1747e19adbf9db4452321be134b09"} device-1 | {"level":"info","message":"POST /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d/websocket 200 49ms","method":"POST","requestID":"14c1747e19adbf9db4452321be134b09","responseTime":49,"status":200,"url":"/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs","level":"info","message":"auth send jwt","requestID":"d398e567249ab4e7aad4f96489b71fa4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d398e567249ab4e7aad4f96489b71fa4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d398e567249ab4e7aad4f96489b71fa4"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662675,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d398e567249ab4e7aad4f96489b71fa4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"d398e567249ab4e7aad4f96489b71fa4","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.788920559Z"}]},"request_id":"766a9312-027c-4ed4-b08e-30534dac4137","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.365773} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d398e567249ab4e7aad4f96489b71fa4","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d398e567249ab4e7aad4f96489b71fa4"} device-1 | {"level":"info","message":"GET /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3? 200 37ms","method":"GET","requestID":"d398e567249ab4e7aad4f96489b71fa4","responseTime":37,"status":200,"url":"/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3? 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":"d398e567249ab4e7aad4f96489b71fa4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs","level":"info","message":"auth send jwt","requestID":"4109bcd5ff05bd769e60bbbfae479e0a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4109bcd5ff05bd769e60bbbfae479e0a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4109bcd5ff05bd769e60bbbfae479e0a"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.992023,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4109bcd5ff05bd769e60bbbfae479e0a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4109bcd5ff05bd769e60bbbfae479e0a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.890741819Z"}]},"request_id":"99452eb8-8da1-4beb-966d-50cfe427b075","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.384728} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"4109bcd5ff05bd769e60bbbfae479e0a","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4109bcd5ff05bd769e60bbbfae479e0a"} gateway-1 | {"time_local":"02/Apr/2025:18:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d? 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":"4109bcd5ff05bd769e60bbbfae479e0a"} device-1 | {"level":"info","message":"GET /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d? 200 35ms","method":"GET","requestID":"4109bcd5ff05bd769e60bbbfae479e0a","responseTime":35,"status":200,"url":"/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs","level":"info","message":"auth send jwt","requestID":"d68e39b36b500560a1eac1190abe1af2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d68e39b36b500560a1eac1190abe1af2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d68e39b36b500560a1eac1190abe1af2"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.063172,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d68e39b36b500560a1eac1190abe1af2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d68e39b36b500560a1eac1190abe1af2","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Attempting to run experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Attempting to book experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Successfully booked experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c117db30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c1180240-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710247,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c117db30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c117db30-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.875713,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c1180240-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"c1180240-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.788920559Z"}]},"request_id":"b0b27e26-9040-4def-9478-08958b74fcbe","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.5072298} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c117db30-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.890741819Z"}]},"request_id":"8ff7005b-e9a6-4ed6-acd1-cfc95f94725f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.5078375} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c1180240-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c117db30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3? 200 37ms","method":"GET","requestID":"c117db30-0fec-11f0-b95a-67cf87457f46","responseTime":37,"status":200,"url":"/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c1180240-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d? 200 37ms","method":"GET","requestID":"c1180240-0fec-11f0-b95a-67cf87457f46","responseTime":37,"status":200,"url":"/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Setting up experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Successfully set up experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c126cf50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c126f660-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1274480-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Successfully running experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.958156,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c126cf50-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"c126cf50-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.858517,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c126f660-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"c126f660-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.788920559Z"}]},"request_id":"03974388-f5c9-474f-91db-06329afd4a2c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.6094213} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c126cf50-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.890741819Z"}]},"request_id":"52a80d27-5da4-4549-9cca-fe7fc658baba","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.6103268} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c126f660-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bfa89ddb-8368-4d23-9dec-f52f3d0257eb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.6113641} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.991318,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c1274480-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","object_type":"device","rebac_allow":false,"scope_allow":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":"c1274480-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c126cf50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3? 200 42ms","method":"GET","requestID":"c126cf50-0fec-11f0-b95a-67cf87457f46","responseTime":42,"status":200,"url":"/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c126f660-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d? 200 42ms","method":"GET","requestID":"c126f660-0fec-11f0-b95a-67cf87457f46","responseTime":42,"status":200,"url":"/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1274480-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3/signaling 200 41ms","method":"POST","requestID":"c1274480-0fec-11f0-b95a-67cf87457f46","responseTime":41,"status":200,"url":"/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c12dad20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c12dd430-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f3de26c-2070-472d-9cc6-f2b2abeab07a#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f3de26c-2070-472d-9cc6-f2b2abeab07a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"4706af77-6255-4d0a-ba83-fa4f7309d6f2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.6221685} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"00c60351-a288-4a96-bfb3-dd2c81a865f8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.6222649} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0c67061-b858-43f0-a7a5-e380b7bfc23b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.6226585} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.361922,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c12dad20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","object_type":"device","rebac_allow":false,"scope_allow":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":"c12dad20-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"d68e39b36b500560a1eac1190abe1af2","responseTime":46,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45bb3f5a-9037-4307-af90-5f10532453cc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.6497571} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.176078,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c12dd430-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","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":"c12dad20-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"c12dd430-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3/signaling 200 35ms","method":"POST","requestID":"c12dad20-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1337980-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c12dd430-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d/signaling 200 39ms","method":"POST","requestID":"c12dd430-0fec-11f0-b95a-67cf87457f46","responseTime":39,"status":200,"url":"/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d68e39b36b500560a1eac1190abe1af2"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} gateway-1 | {"time_local":"02/Apr/2025:18:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.247","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d68e39b36b500560a1eac1190abe1af2"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.014673,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 245ms","method":"POST","requestID":"d68e39b36b500560a1eac1190abe1af2","responseTime":245,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56292615-b5ea-4958-b89c-59e3f4ffcf16","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.6614246} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c1337980-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c1337980-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1337980-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d/signaling 200 11ms","method":"POST","requestID":"c1337980-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs","level":"info","message":"auth send jwt","requestID":"b07873b1bbdd79a759007b8be789ff23"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b07873b1bbdd79a759007b8be789ff23","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Building connection plan","requestID":"d68e39b36b500560a1eac1190abe1af2"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"997707e9-4da7-4781-aefe-5f124f971458"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c68f287d-a07f-40e1-a51f-200d7c509f08"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"fedd1b60-fbe1-4ade-b7bb-6bc78752fb23"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d68e39b36b500560a1eac1190abe1af2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b07873b1bbdd79a759007b8be789ff23"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d68e39b36b500560a1eac1190abe1af2"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c1359c60-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960019,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b07873b1bbdd79a759007b8be789ff23","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"b07873b1bbdd79a759007b8be789ff23","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":24.853824,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c1359c60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c1359c60-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.788920559Z"}]},"request_id":"abac8b45-8a89-41d3-acf4-c66be6f537c9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.7009869} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b07873b1bbdd79a759007b8be789ff23","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b07873b1bbdd79a759007b8be789ff23"} gateway-1 | {"time_local":"02/Apr/2025:18:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b07873b1bbdd79a759007b8be789ff23"} device-1 | {"level":"info","message":"GET /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3? 200 37ms","method":"GET","requestID":"b07873b1bbdd79a759007b8be789ff23","responseTime":37,"status":200,"url":"/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"5d3fae97-f429-4508-96e8-f29dc4cd19df","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.707689} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f839df0a-617d-4851-bf35-3951f3270308","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.7078393} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c1359c60-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/update"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs","level":"info","message":"auth send jwt","requestID":"05aaf0012f9f8ee9f70c1f0ca61105a9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"05aaf0012f9f8ee9f70c1f0ca61105a9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"05aaf0012f9f8ee9f70c1f0ca61105a9"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.051405,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05aaf0012f9f8ee9f70c1f0ca61105a9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616997,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5N30.je4WrFjGIzFjg0gvwSLb_T1hrmrxltM9NU_aky-pqTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"05aaf0012f9f8ee9f70c1f0ca61105a9","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:15.890741819Z"}]},"request_id":"e562c079-0c06-4ae9-9439-73d91e4e9f18","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.7208016} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"05aaf0012f9f8ee9f70c1f0ca61105a9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c1359c60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c1359c60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d'","requestID":"c1359c60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d'","requestID":"c1359c60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c1359c60-0fec-11f0-b95a-67cf87457f46"} 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":"c1359c60-0fec-11f0-b95a-67cf87457f46","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":"getDevicesByDeviceId succeeded","requestID":"05aaf0012f9f8ee9f70c1f0ca61105a9"} gateway-1 | {"time_local":"02/Apr/2025:18:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05aaf0012f9f8ee9f70c1f0ca61105a9"} device-1 | {"level":"info","message":"GET /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d? 200 42ms","method":"GET","requestID":"05aaf0012f9f8ee9f70c1f0ca61105a9","responseTime":42,"status":200,"url":"/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c1359c60-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d68e39b36b500560a1eac1190abe1af2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c14a83f0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9cbc0b22-ac69-43af-a490-91c65c2784a5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.812017} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.644047,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c14a83f0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c14a83f0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c14a83f0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3/signaling 200 9ms","method":"POST","requestID":"c14a83f0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1505050-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9963272-95fd-4529-b7a6-d2b7d70cd1c6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616997.849827} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.385798,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c1505050-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","object_type":"device","rebac_allow":false,"scope_allow":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":"c1505050-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1505050-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d/signaling 200 9ms","method":"POST","requestID":"c1505050-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d/signaling"} device-1 | {"device":"8e0c4c82-f0b5-4928-a118-e668d25ac99d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c01436cd-94dd-4c52-8a16-6ef31f68bb0d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2272d690-1da1-49d2-ae94-2d27c53a20f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c01436cd-94dd-4c52-8a16-6ef31f68bb0d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2272d690-1da1-49d2-ae94-2d27c53a20f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2272d690-1da1-49d2-ae94-2d27c53a20f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2272d690-1da1-49d2-ae94-2d27c53a20f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2272d690-1da1-49d2-ae94-2d27c53a20f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c01436cd-94dd-4c52-8a16-6ef31f68bb0d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"46aa13d4386a365e93c1260eda99a7dc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"46aa13d4386a365e93c1260eda99a7dc","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/2272d690-1da1-49d2-ae94-2d27c53a20f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d"}}},"level":"info","message":"received a callback","requestID":"46aa13d4386a365e93c1260eda99a7dc"} device-1 | {"device":"8e0c4c82-f0b5-4928-a118-e668d25ac99d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8e0c4c82-f0b5-4928-a118-e668d25ac99d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8e0c4c82-f0b5-4928-a118-e668d25ac99d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"46aa13d4386a365e93c1260eda99a7dc","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"46aa13d4386a365e93c1260eda99a7dc"} device-1 | {"device":"2272d690-1da1-49d2-ae94-2d27c53a20f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c01436cd-94dd-4c52-8a16-6ef31f68bb0d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8e0c4c82-f0b5-4928-a118-e668d25ac99d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8e0c4c82-f0b5-4928-a118-e668d25ac99d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2272d690-1da1-49d2-ae94-2d27c53a20f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c01436cd-94dd-4c52-8a16-6ef31f68bb0d","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/c01436cd-94dd-4c52-8a16-6ef31f68bb0d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c01436cd-94dd-4c52-8a16-6ef31f68bb0d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"853337c73a4caf670eb8a0cb88532712","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"853337c73a4caf670eb8a0cb88532712","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/2272d690-1da1-49d2-ae94-2d27c53a20f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d"}}},"level":"info","message":"received a callback","requestID":"853337c73a4caf670eb8a0cb88532712"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c28722a0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:19Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc01436cd-94dd-4c52-8a16-6ef31f68bb0d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"627b06ae-f6da-466b-ac17-8b16cebaa518","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616999.9118624} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.798626,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c28722a0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"c28722a0-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c28722a0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d 200 33ms","method":"GET","requestID":"c28722a0-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 81ms","method":"POST","requestID":"853337c73a4caf670eb8a0cb88532712","responseTime":81,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch","requestID":"853337c73a4caf670eb8a0cb88532712"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c2930980-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:19Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3330e0e1-1c05-4bba-a33f-2176a26bfc11","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743616999.9648004} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.443944,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c2930980-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","object_type":"device","rebac_allow":false,"scope_allow":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":"c2930980-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5OX0.wcpZwib_QEqXmfGNRxAAskJ2q6Q8zr-GUyLldMR93S8","level":"info","message":"auth send jwt","requestID":"48df16105d2820245b1d1390e66ba0fc"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a","requestID":"48df16105d2820245b1d1390e66ba0fc"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:19Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c2930980-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"48df16105d2820245b1d1390e66ba0fc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3/signaling 200 10ms","method":"POST","requestID":"c2930980-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3/signaling"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.81462,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"48df16105d2820245b1d1390e66ba0fc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743616999,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNjk5OX0.wcpZwib_QEqXmfGNRxAAskJ2q6Q8zr-GUyLldMR93S8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c2950550-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"48df16105d2820245b1d1390e66ba0fc","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:19Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e876c9b-6647-4429-ba73-f669061aa192","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.0019884} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a","requestID":"48df16105d2820245b1d1390e66ba0fc"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.485267,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c2950550-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"02/Apr/2025:18:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"48df16105d2820245b1d1390e66ba0fc"} experiment-1 | {"level":"info","message":"GET /experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a 200 35ms","method":"GET","requestID":"48df16105d2820245b1d1390e66ba0fc","responseTime":35,"status":200,"url":"/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"c2950550-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c2950550-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d/signaling 200 37ms","method":"POST","requestID":"c2950550-0fec-11f0-b95a-67cf87457f46","responseTime":37,"status":200,"url":"/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8","level":"info","message":"auth send jwt","requestID":"3cfe88a33b1a3b9f5dac6156ebf28251"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3cfe88a33b1a3b9f5dac6156ebf28251","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a","requestID":"3cfe88a33b1a3b9f5dac6156ebf28251"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.763781,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"3cfe88a33b1a3b9f5dac6156ebf28251","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617000,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3cfe88a33b1a3b9f5dac6156ebf28251","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Attempting to finish experiment","requestID":"3cfe88a33b1a3b9f5dac6156ebf28251"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c29ccd80-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.667214,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c29ccd80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617000,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c29ccd80-0fec-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"device":"2272d690-1da1-49d2-ae94-2d27c53a20f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2272d690-1da1-49d2-ae94-2d27c53a20f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2272d690-1da1-49d2-ae94-2d27c53a20f3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8e0c4c82-f0b5-4928-a118-e668d25ac99d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8e0c4c82-f0b5-4928-a118-e668d25ac99d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8e0c4c82-f0b5-4928-a118-e668d25ac99d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c01436cd-94dd-4c52-8a16-6ef31f68bb0d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc01436cd-94dd-4c52-8a16-6ef31f68bb0d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc01436cd-94dd-4c52-8a16-6ef31f68bb0d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"2bf89803-0368-4e5e-9a3f-b9fca50c3209","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.065399} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cf472a24a8ca7d14c5d79d6c21a3b4ac","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cf472a24a8ca7d14c5d79d6c21a3b4ac","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2c26378-acdd-4caf-a2be-efe9b6bb8a66","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.065826} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"c29ccd80-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"94042d81308e13f20192de76406b922d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d"}}},"level":"info","message":"received a callback","requestID":"cf472a24a8ca7d14c5d79d6c21a3b4ac"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"94042d81308e13f20192de76406b922d","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/2272d690-1da1-49d2-ae94-2d27c53a20f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d"}}},"level":"info","message":"received a callback","requestID":"94042d81308e13f20192de76406b922d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c29ccd80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d 204 48ms","method":"DELETE","requestID":"c29ccd80-0fec-11f0-b95a-67cf87457f46","responseTime":48,"status":204,"url":"/peerconnections/c01436cd-94dd-4c52-8a16-6ef31f68bb0d"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"},"level":"info","message":"Successfully finished experiment","requestID":"3cfe88a33b1a3b9f5dac6156ebf28251"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c2aa8920-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2272d690-1da1-49d2-ae94-2d27c53a20f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b44e4e0c-272c-4f6a-9b08-45d360342f22","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.1196191} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.505964,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c2aa8920-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c2aa8920-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"POST /devices/2272d690-1da1-49d2-ae94-2d27c53a20f3/signaling 200 10ms","method":"POST","requestID":"c2aa8920-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c2aa8920-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c2b00760-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f3de26c-2070-472d-9cc6-f2b2abeab07a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f3de26c-2070-472d-9cc6-f2b2abeab07a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"4758a5ae-ee14-471d-88bf-848afa31e6d1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.1515014} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab81df93-b55f-4e3f-827e-7129a076bc56","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.1516738} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"3cfe88a33b1a3b9f5dac6156ebf28251","responseTime":43,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e0c4c82-f0b5-4928-a118-e668d25ac99d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"614ebb22-1cef-4ebd-a44b-7d525dd79f42","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.1578238} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.183029,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c2b00760-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d","object_type":"device","rebac_allow":false,"scope_allow":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":"c2b00760-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c2b00760-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d/signaling 200 14ms","method":"POST","requestID":"c2b00760-0fec-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/8e0c4c82-f0b5-4928-a118-e668d25ac99d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a","requestID":"3cfe88a33b1a3b9f5dac6156ebf28251"} gateway-1 | {"time_local":"02/Apr/2025:18:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.247","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3cfe88a33b1a3b9f5dac6156ebf28251"} experiment-1 | {"level":"info","message":"DELETE /experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a 204 240ms","method":"DELETE","requestID":"3cfe88a33b1a3b9f5dac6156ebf28251","responseTime":240,"status":204,"url":"/experiments/4f3de26c-2070-472d-9cc6-f2b2abeab07a"} gateway-1 | {"time_local":"02/Apr/2025:18:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2162","request_time":"2.938","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"9989c711bf1c8b4113d5c59963ce87b3"} gateway-1 | {"time_local":"02/Apr/2025:18:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2162","request_time":"2.971","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"25d3a710b12af833129eb0e7110a3f56"} gateway-1 | {"time_local":"02/Apr/2025:18:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf472a24a8ca7d14c5d79d6c21a3b4ac"} gateway-1 | {"time_local":"02/Apr/2025:18:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch","requestID":"94042d81308e13f20192de76406b922d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 191ms","method":"POST","requestID":"cf472a24a8ca7d14c5d79d6c21a3b4ac","responseTime":191,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 191ms","method":"POST","requestID":"94042d81308e13f20192de76406b922d","responseTime":191,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2272d690-1da1-49d2-ae94-2d27c53a20f3' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8","level":"info","message":"auth send jwt","requestID":"3cd13f18a4e68ae410ad2a2d9de1958f"} authentication-1 | {"level":"info","message":"GET /auth 200 34ms","method":"GET","requestID":"3cd13f18a4e68ae410ad2a2d9de1958f","responseTime":34,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3cd13f18a4e68ae410ad2a2d9de1958f"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.880845,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"3cd13f18a4e68ae410ad2a2d9de1958f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617000,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3cd13f18a4e68ae410ad2a2d9de1958f","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/8e0c4c82-f0b5-4928-a118-e668d25ac99d' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda554feb-7edc-43b8-9d49-baf0c687f666","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"827227d8-8987-4cf2-b438-6c5a919b3147","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.3437607} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3cd13f18a4e68ae410ad2a2d9de1958f","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1996b84-92a0-44e9-bfe3-921063830a37","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.3508227} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"3cd13f18a4e68ae410ad2a2d9de1958f","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda554feb-7edc-43b8-9d49-baf0c687f666","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"e4c26c1c-36ec-4ff8-bd63-1aa4a26b009c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.3870335} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ecfa21c-90c2-404e-bbae-206bce07cb06","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.3873188} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"3cd13f18a4e68ae410ad2a2d9de1958f","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda554feb-7edc-43b8-9d49-baf0c687f666","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda554feb-7edc-43b8-9d49-baf0c687f666","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:20.387017796Z"}]},"request_id":"c79b8991-ece1-42d8-ac63-a769abff3709","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.393474} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3cd13f18a4e68ae410ad2a2d9de1958f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3cd13f18a4e68ae410ad2a2d9de1958f"} device-1 | {"level":"info","message":"POST /devices? 201 106ms","method":"POST","requestID":"3cd13f18a4e68ae410ad2a2d9de1958f","responseTime":106,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3cd13f18a4e68ae410ad2a2d9de1958f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8","level":"info","message":"auth send jwt","requestID":"39afbec9b74994847df1ad04599a7543"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"39afbec9b74994847df1ad04599a7543","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"39afbec9b74994847df1ad04599a7543"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.960967,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"39afbec9b74994847df1ad04599a7543","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617000,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"39afbec9b74994847df1ad04599a7543","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1c5b51b-1c4e-4787-9b7d-8f624232e1bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"13dd5dd6-c047-403b-a630-cc4fcb09b8bd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.4517698} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"39afbec9b74994847df1ad04599a7543","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bfb64e71-ab02-43ea-9e8d-aefdfc9a394c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.4829485} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"39afbec9b74994847df1ad04599a7543","responseTime":33,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1c5b51b-1c4e-4787-9b7d-8f624232e1bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"5ba9b132-f897-4f80-ac57-4e333560d64e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.501583} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fb01e4c7-2e69-4657-8919-885e5f4a0fd0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.5019004} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"39afbec9b74994847df1ad04599a7543","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1c5b51b-1c4e-4787-9b7d-8f624232e1bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1c5b51b-1c4e-4787-9b7d-8f624232e1bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:20.501565112Z"}]},"request_id":"4a872bc9-a743-4300-bb4c-22d6d59321a3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.5311003} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"39afbec9b74994847df1ad04599a7543","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"39afbec9b74994847df1ad04599a7543"} device-1 | {"level":"info","message":"POST /devices? 201 129ms","method":"POST","requestID":"39afbec9b74994847df1ad04599a7543","responseTime":129,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39afbec9b74994847df1ad04599a7543"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8","level":"info","message":"auth send jwt","requestID":"7c0175681ef7155b2f1a00ed82f617f1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7c0175681ef7155b2f1a00ed82f617f1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7c0175681ef7155b2f1a00ed82f617f1"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.548619,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7c0175681ef7155b2f1a00ed82f617f1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617000,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7c0175681ef7155b2f1a00ed82f617f1","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26149ef4-0b13-48fe-bd53-788c0c2d3bd7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"baf6a8c5-703f-4b9a-b888-dcddb6514da4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.5846097} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7c0175681ef7155b2f1a00ed82f617f1","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c9d605e-d124-4e80-9d92-b5afa284b7c2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.5897799} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"7c0175681ef7155b2f1a00ed82f617f1","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c02257ed-db39-4a92-b570-f13331031a8b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.600992} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26149ef4-0b13-48fe-bd53-788c0c2d3bd7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"ac19e8e6-4f0b-4b78-b946-9e320e5201f8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.6250112} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"7c0175681ef7155b2f1a00ed82f617f1","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26149ef4-0b13-48fe-bd53-788c0c2d3bd7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26149ef4-0b13-48fe-bd53-788c0c2d3bd7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:20.624993485Z"}]},"request_id":"a52c5881-1799-4bfb-bdc2-7ec76d1bd747","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.6303587} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7c0175681ef7155b2f1a00ed82f617f1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7c0175681ef7155b2f1a00ed82f617f1"} gateway-1 | {"time_local":"02/Apr/2025:18:03:20 +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":"7c0175681ef7155b2f1a00ed82f617f1"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"7c0175681ef7155b2f1a00ed82f617f1","responseTime":93,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8","level":"info","message":"auth send jwt","requestID":"5d4fbbcd0cc826a622d0ad5b39778e26"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5d4fbbcd0cc826a622d0ad5b39778e26","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5d4fbbcd0cc826a622d0ad5b39778e26"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.662338,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"5d4fbbcd0cc826a622d0ad5b39778e26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617000,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5d4fbbcd0cc826a622d0ad5b39778e26","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7757ac13-fac4-478d-9a06-87d61b4c2215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"35f6d2dc-f81a-42b7-9496-db8dd795ad22","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.6521733} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"5d4fbbcd0cc826a622d0ad5b39778e26","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a076fbc-392a-42fe-b972-e45cbed33685","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.681232} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5d4fbbcd0cc826a622d0ad5b39778e26","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7757ac13-fac4-478d-9a06-87d61b4c2215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"53b67b84-08f5-49a8-8dbf-7228bfe2e615","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.691617} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d255899a-b181-49fc-9d27-d39558a3598e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.6919177} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"5d4fbbcd0cc826a622d0ad5b39778e26","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7757ac13-fac4-478d-9a06-87d61b4c2215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7757ac13-fac4-478d-9a06-87d61b4c2215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:20.691600392Z"}]},"request_id":"40087def-a322-4980-9c5b-270bb7ac3b27","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.697806} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5d4fbbcd0cc826a622d0ad5b39778e26","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5d4fbbcd0cc826a622d0ad5b39778e26"} gateway-1 | {"time_local":"02/Apr/2025:18:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d4fbbcd0cc826a622d0ad5b39778e26"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"5d4fbbcd0cc826a622d0ad5b39778e26","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8","level":"info","message":"auth send jwt","requestID":"944395f352c109bd2e8945caed139332"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"944395f352c109bd2e8945caed139332","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"944395f352c109bd2e8945caed139332"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.677969,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"944395f352c109bd2e8945caed139332","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617000,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"944395f352c109bd2e8945caed139332","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceb3c733-dd84-4079-904f-567ec1069a38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c9665a69-b65b-4e58-aafc-30511ef68f0b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.7740502} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"944395f352c109bd2e8945caed139332","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88ce0de5-0591-4c8c-9dd4-4e99071f563f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.7784717} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"944395f352c109bd2e8945caed139332","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceb3c733-dd84-4079-904f-567ec1069a38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"cb3ebfb3-4521-4191-a61b-a8359840bd46","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.7902484} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5bae8d2a-efd9-4478-b8d9-25c974ce1586","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.7905374} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"944395f352c109bd2e8945caed139332","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceb3c733-dd84-4079-904f-567ec1069a38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fceb3c733-dd84-4079-904f-567ec1069a38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:20.790231486Z"}]},"request_id":"b411b682-142e-4771-8f71-6a9e1a911269","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.819522} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"944395f352c109bd2e8945caed139332","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"944395f352c109bd2e8945caed139332"} gateway-1 | {"time_local":"02/Apr/2025:18:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"944395f352c109bd2e8945caed139332"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"944395f352c109bd2e8945caed139332","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8","level":"info","message":"auth send jwt","requestID":"e5e1114b427d06ad01d2ebaacd4cb527"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e5e1114b427d06ad01d2ebaacd4cb527","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e5e1114b427d06ad01d2ebaacd4cb527"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.669634,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e5e1114b427d06ad01d2ebaacd4cb527","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617000,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e5e1114b427d06ad01d2ebaacd4cb527","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f82dd9f-a4ab-4ed3-b116-f521241b884e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bd3570f3-9b70-4984-9507-78777f14ea4c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.871834} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e5e1114b427d06ad01d2ebaacd4cb527","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43b9af58-d676-46d6-bebc-12255b8734e4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.8762503} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e5e1114b427d06ad01d2ebaacd4cb527","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f82dd9f-a4ab-4ed3-b116-f521241b884e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"bd396776-4333-4565-acd9-d20dc0d6e7e6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.8873227} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6153324a-a15a-4536-8eec-a2d1b3263f60","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.8874679} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"e5e1114b427d06ad01d2ebaacd4cb527","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f82dd9f-a4ab-4ed3-b116-f521241b884e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f82dd9f-a4ab-4ed3-b116-f521241b884e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:20.887308733Z"}]},"request_id":"d78c4faf-3f64-4651-bff5-9da4b766c211","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.9168568} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e5e1114b427d06ad01d2ebaacd4cb527","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e5e1114b427d06ad01d2ebaacd4cb527"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"e5e1114b427d06ad01d2ebaacd4cb527","responseTime":92,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e5e1114b427d06ad01d2ebaacd4cb527"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8","level":"info","message":"auth send jwt","requestID":"9e9e1cc51643cde04fd668757101f69b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9e9e1cc51643cde04fd668757101f69b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9e9e1cc51643cde04fd668757101f69b"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.716493,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"9e9e1cc51643cde04fd668757101f69b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617000,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMH0.--nGG0rwW-0jEoUl4XED9pWpHMv0Tu5SaoXzwoL99E8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9e9e1cc51643cde04fd668757101f69b","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fede405d0-7b04-4b75-bcc3-47630acb868c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fbda5c68-6644-4dfb-9b64-861d9be5b15b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.969416} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9e9e1cc51643cde04fd668757101f69b","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efe2d1ce-7e70-4b76-8929-4ba36f016460","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617000.9748876} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"9e9e1cc51643cde04fd668757101f69b","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fede405d0-7b04-4b75-bcc3-47630acb868c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"c7e4398f-b682-4fdc-8633-570aa55816f4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.0105586} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0e6463d-695a-496b-8162-0373f321428a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.0106828} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"9e9e1cc51643cde04fd668757101f69b","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fede405d0-7b04-4b75-bcc3-47630acb868c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fede405d0-7b04-4b75-bcc3-47630acb868c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.010544033Z"}]},"request_id":"387da3d7-2dd5-4bb6-a5c3-ac0b119bef43","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.0156448} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9e9e1cc51643cde04fd668757101f69b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9e9e1cc51643cde04fd668757101f69b"} gateway-1 | {"time_local":"02/Apr/2025:18:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9e9e1cc51643cde04fd668757101f69b"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"9e9e1cc51643cde04fd668757101f69b","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo","level":"info","message":"auth send jwt","requestID":"80ee7439cca9f18ca52d5684483bcebe"} device-1 | {"level":"info","message":"postDevices called","requestID":"80ee7439cca9f18ca52d5684483bcebe"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"80ee7439cca9f18ca52d5684483bcebe","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.060145,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"80ee7439cca9f18ca52d5684483bcebe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617001,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"80ee7439cca9f18ca52d5684483bcebe","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33d69852-b88c-471a-ae4e-b05b94235b0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"17be9573-2474-4aeb-b6b8-d90f15f67a7f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.0790222} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"80ee7439cca9f18ca52d5684483bcebe","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cfca1a98-823f-42e7-87d3-995657726d1d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.1091342} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"80ee7439cca9f18ca52d5684483bcebe","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33d69852-b88c-471a-ae4e-b05b94235b0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"0cf3cbf9-7b8a-4a04-8490-53ba731fe86b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.1188447} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4dcb5317-5353-4f34-81ef-9f2e788cf3b0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.1210597} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"80ee7439cca9f18ca52d5684483bcebe","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33d69852-b88c-471a-ae4e-b05b94235b0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33d69852-b88c-471a-ae4e-b05b94235b0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.118823174Z"}]},"request_id":"1638b46a-a574-4f92-b8e5-b2f2831d7af0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.1269913} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"80ee7439cca9f18ca52d5684483bcebe","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"80ee7439cca9f18ca52d5684483bcebe"} device-1 | {"level":"info","message":"POST /devices? 201 104ms","method":"POST","requestID":"80ee7439cca9f18ca52d5684483bcebe","responseTime":104,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.110","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80ee7439cca9f18ca52d5684483bcebe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo","level":"info","message":"auth send jwt","requestID":"d6ffb085f601384f6ffa3af3e30cfa86"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"d6ffb085f601384f6ffa3af3e30cfa86","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d6ffb085f601384f6ffa3af3e30cfa86"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.684813,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d6ffb085f601384f6ffa3af3e30cfa86","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617001,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d6ffb085f601384f6ffa3af3e30cfa86","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dbeb9ca-ffa5-4bd6-b31d-e628ca21c26a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0ebcb0fd-71bf-4672-b20a-f8538a0afea9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.1739297} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d6ffb085f601384f6ffa3af3e30cfa86","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f87155b5-f8d1-4895-855b-450ddb1b9bb6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.2029662} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d6ffb085f601384f6ffa3af3e30cfa86","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dbeb9ca-ffa5-4bd6-b31d-e628ca21c26a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"a4ba033d-4828-492a-be98-29b806c5b342","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.213066} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35df2c51-52d0-4ab9-9b8f-472978230b76","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.2131543} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"d6ffb085f601384f6ffa3af3e30cfa86","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dbeb9ca-ffa5-4bd6-b31d-e628ca21c26a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dbeb9ca-ffa5-4bd6-b31d-e628ca21c26a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.213046135Z"}]},"request_id":"4a0333ad-2295-4961-963a-d64c5242d52c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.220476} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","method":"POST","requestID":"d6ffb085f601384f6ffa3af3e30cfa86","responseTime":31,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d6ffb085f601384f6ffa3af3e30cfa86"} gateway-1 | {"time_local":"02/Apr/2025:18:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.120","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d6ffb085f601384f6ffa3af3e30cfa86"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"d6ffb085f601384f6ffa3af3e30cfa86","responseTime":93,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo","level":"info","message":"auth send jwt","requestID":"e1a51cf900077c4a8624513ebb6bb66a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e1a51cf900077c4a8624513ebb6bb66a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e1a51cf900077c4a8624513ebb6bb66a"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.691235,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e1a51cf900077c4a8624513ebb6bb66a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617001,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e1a51cf900077c4a8624513ebb6bb66a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c9250b7-ec10-45b6-9ca4-a788d6f15dda","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e075f1fa-0469-455d-bc09-2bafb2dd8b53","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.3099027} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e1a51cf900077c4a8624513ebb6bb66a","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d6e0177-873f-4cfe-ac2c-2d5731e2e8ad","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.3142233} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e1a51cf900077c4a8624513ebb6bb66a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c9250b7-ec10-45b6-9ca4-a788d6f15dda","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"1e93e7ae-8e13-4f7f-8241-bcc64cde5113","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.34554} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"271d0729-4ee7-46d1-9a30-12b38b7cdb43","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.3465931} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"e1a51cf900077c4a8624513ebb6bb66a","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c9250b7-ec10-45b6-9ca4-a788d6f15dda","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c9250b7-ec10-45b6-9ca4-a788d6f15dda","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.345518590Z"}]},"request_id":"bf1ac41e-b2f7-4b80-a6ad-b08d1bd93148","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.3534727} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e1a51cf900077c4a8624513ebb6bb66a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e1a51cf900077c4a8624513ebb6bb66a"} gateway-1 | {"time_local":"02/Apr/2025:18:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.103","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1a51cf900077c4a8624513ebb6bb66a"} device-1 | {"level":"info","message":"POST /devices? 201 99ms","method":"POST","requestID":"e1a51cf900077c4a8624513ebb6bb66a","responseTime":99,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo","level":"info","message":"auth send jwt","requestID":"80c58bd4e3e84155eccab9a50d7cb91f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"80c58bd4e3e84155eccab9a50d7cb91f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"80c58bd4e3e84155eccab9a50d7cb91f"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.758855,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"80c58bd4e3e84155eccab9a50d7cb91f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617001,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"80c58bd4e3e84155eccab9a50d7cb91f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"36ff9cff-2109-4967-bb80-b1dd5f771232","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.4163327} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"80c58bd4e3e84155eccab9a50d7cb91f","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d24256c6-a9df-496f-961a-d96aab4c4cb4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.4205673} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"80c58bd4e3e84155eccab9a50d7cb91f","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"f3879960-42b2-4a75-a1d7-decbeb4131d8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.4554741} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e151145-4a61-4856-9b0b-5c4547e462e5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.4557714} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"80c58bd4e3e84155eccab9a50d7cb91f","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.455459074Z"}]},"request_id":"38c42a26-d059-4175-b948-fca202eca8e6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.4599552} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"80c58bd4e3e84155eccab9a50d7cb91f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"80c58bd4e3e84155eccab9a50d7cb91f"} gateway-1 | {"time_local":"02/Apr/2025:18:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.105","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80c58bd4e3e84155eccab9a50d7cb91f"} device-1 | {"level":"info","message":"POST /devices? 201 101ms","method":"POST","requestID":"80c58bd4e3e84155eccab9a50d7cb91f","responseTime":101,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo","level":"info","message":"auth send jwt","requestID":"e0a70da117de9290d2e7544cd6781e96"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"e0a70da117de9290d2e7544cd6781e96","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e0a70da117de9290d2e7544cd6781e96"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.882278,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e0a70da117de9290d2e7544cd6781e96","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617001,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e0a70da117de9290d2e7544cd6781e96","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4898efa1-2f56-4eeb-b85e-9f87a9b289ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2a2899d0-6acd-46f4-ba59-808dc6db2f6a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.5078585} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e0a70da117de9290d2e7544cd6781e96","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52c6c4db-ef41-4fa5-99d6-59943ab53555","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.5122144} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"e0a70da117de9290d2e7544cd6781e96","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4898efa1-2f56-4eeb-b85e-9f87a9b289ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"cd1a3f93-d863-4699-997a-59848fd9dc6e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.5467947} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6e0c877-80b8-4fa4-bba9-807d53bcbe3e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.547079} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"e0a70da117de9290d2e7544cd6781e96","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4898efa1-2f56-4eeb-b85e-9f87a9b289ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4898efa1-2f56-4eeb-b85e-9f87a9b289ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.546780838Z"}]},"request_id":"c47d7261-d318-4d40-9d81-cb7326bf6cc0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.5510044} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e0a70da117de9290d2e7544cd6781e96","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e0a70da117de9290d2e7544cd6781e96"} gateway-1 | {"time_local":"02/Apr/2025:18:03:21 +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":"e0a70da117de9290d2e7544cd6781e96"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"e0a70da117de9290d2e7544cd6781e96","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo","level":"info","message":"auth send jwt","requestID":"47cd34740d1633a8be0263e9cdbcab17"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"47cd34740d1633a8be0263e9cdbcab17","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"47cd34740d1633a8be0263e9cdbcab17"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.711581,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"47cd34740d1633a8be0263e9cdbcab17","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617001,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"47cd34740d1633a8be0263e9cdbcab17","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2add693-1740-4b7e-804b-e09d9ba69d66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bf03bb8d-1424-422f-bc31-cf80e5c92b97","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.6026068} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"47cd34740d1633a8be0263e9cdbcab17","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f137bf7a-051b-4e4d-8415-24e642f73409","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.6070068} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"47cd34740d1633a8be0263e9cdbcab17","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2add693-1740-4b7e-804b-e09d9ba69d66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"abea5b39-809b-4faa-baf1-76d2905f9044","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.6407013} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"711eb0b4-c2aa-40d0-b735-000eb730d9e6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.6409585} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"47cd34740d1633a8be0263e9cdbcab17","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2add693-1740-4b7e-804b-e09d9ba69d66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2add693-1740-4b7e-804b-e09d9ba69d66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.640682713Z"}]},"request_id":"179625cb-efbb-4379-a38e-586853cef3f8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.6451218} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"47cd34740d1633a8be0263e9cdbcab17","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"47cd34740d1633a8be0263e9cdbcab17"} gateway-1 | {"time_local":"02/Apr/2025:18:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.093","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47cd34740d1633a8be0263e9cdbcab17"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"47cd34740d1633a8be0263e9cdbcab17","responseTime":90,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo","level":"info","message":"auth send jwt","requestID":"a3c0441d828fa84242eb48b7ee0ecaac"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a3c0441d828fa84242eb48b7ee0ecaac","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a3c0441d828fa84242eb48b7ee0ecaac"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.706636,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"a3c0441d828fa84242eb48b7ee0ecaac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617001,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"a3c0441d828fa84242eb48b7ee0ecaac","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.455459074Z"}]},"request_id":"85fea761-ad31-4fb4-a9d3-aed2e03b41fb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.6874945} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a3c0441d828fa84242eb48b7ee0ecaac","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"072c47c4-3721-42cb-8f51-e268978bb6ed","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.6924858} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a3c0441d828fa84242eb48b7ee0ecaac","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.455459074Z"}]},"request_id":"515f9700-9da0-43f3-af8a-7cc44771db73","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.702477} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a3c0441d828fa84242eb48b7ee0ecaac","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a3c0441d828fa84242eb48b7ee0ecaac"} device-1 | {"level":"info","message":"PATCH /devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6? 200 74ms","method":"PATCH","requestID":"a3c0441d828fa84242eb48b7ee0ecaac","responseTime":74,"status":200,"url":"/devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3c0441d828fa84242eb48b7ee0ecaac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo","level":"info","message":"auth send jwt","requestID":"7f9e7c5ad3bc5ba43365057454af195c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7f9e7c5ad3bc5ba43365057454af195c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"7f9e7c5ad3bc5ba43365057454af195c"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74112,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4898efa1-2f56-4eeb-b85e-9f87a9b289ad","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7f9e7c5ad3bc5ba43365057454af195c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4898efa1-2f56-4eeb-b85e-9f87a9b289ad","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617001,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7f9e7c5ad3bc5ba43365057454af195c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4898efa1-2f56-4eeb-b85e-9f87a9b289ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4898efa1-2f56-4eeb-b85e-9f87a9b289ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.546780838Z"}]},"request_id":"72cc28e1-469c-4b33-a828-e0fbdd15dba2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.7440097} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7f9e7c5ad3bc5ba43365057454af195c","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71a975c1-fb5b-45b5-a534-aa0760e16fce","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.7497559} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7f9e7c5ad3bc5ba43365057454af195c","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4898efa1-2f56-4eeb-b85e-9f87a9b289ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4898efa1-2f56-4eeb-b85e-9f87a9b289ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.546780838Z"}]},"request_id":"06f377d4-6ce2-4d8e-bfb7-0974651530c8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.9347625} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7f9e7c5ad3bc5ba43365057454af195c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"7f9e7c5ad3bc5ba43365057454af195c"} device-1 | {"level":"info","message":"PATCH /devices/4898efa1-2f56-4eeb-b85e-9f87a9b289ad? 200 203ms","method":"PATCH","requestID":"7f9e7c5ad3bc5ba43365057454af195c","responseTime":203,"status":200,"url":"/devices/4898efa1-2f56-4eeb-b85e-9f87a9b289ad?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4898efa1-2f56-4eeb-b85e-9f87a9b289ad? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.207","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f9e7c5ad3bc5ba43365057454af195c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo","level":"info","message":"auth send jwt","requestID":"ceb4bb7adc37f86ad9b78fd216db6349"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ceb4bb7adc37f86ad9b78fd216db6349","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ceb4bb7adc37f86ad9b78fd216db6349"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676028,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2add693-1740-4b7e-804b-e09d9ba69d66","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ceb4bb7adc37f86ad9b78fd216db6349","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/f2add693-1740-4b7e-804b-e09d9ba69d66","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617001,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMX0.yTUXktIz6a95OEn6fPFoG5V7SCNiOrQbuIrdeDafMbo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ceb4bb7adc37f86ad9b78fd216db6349","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2add693-1740-4b7e-804b-e09d9ba69d66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2add693-1740-4b7e-804b-e09d9ba69d66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.640682713Z"}]},"request_id":"066d6ddd-0776-4f23-8c3a-692b76d60c9c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.977152} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ceb4bb7adc37f86ad9b78fd216db6349","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"203c12ee-2bca-4913-b42a-6c75bc0778b6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617001.982763} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ceb4bb7adc37f86ad9b78fd216db6349","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2add693-1740-4b7e-804b-e09d9ba69d66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2add693-1740-4b7e-804b-e09d9ba69d66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.640682713Z"}]},"request_id":"931bf515-908b-43cb-af30-6a7987e95218","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.039989} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"ceb4bb7adc37f86ad9b78fd216db6349","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ceb4bb7adc37f86ad9b78fd216db6349"} device-1 | {"level":"info","message":"PATCH /devices/f2add693-1740-4b7e-804b-e09d9ba69d66? 200 126ms","method":"PATCH","requestID":"ceb4bb7adc37f86ad9b78fd216db6349","responseTime":126,"status":200,"url":"/devices/f2add693-1740-4b7e-804b-e09d9ba69d66?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f2add693-1740-4b7e-804b-e09d9ba69d66? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ceb4bb7adc37f86ad9b78fd216db6349"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA","level":"info","message":"auth send jwt","requestID":"0a88bdcd9c83963770952c6abaa182b9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0a88bdcd9c83963770952c6abaa182b9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0a88bdcd9c83963770952c6abaa182b9"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729674,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0a88bdcd9c83963770952c6abaa182b9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0a88bdcd9c83963770952c6abaa182b9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.455459074Z"}]},"request_id":"b20d9d7f-dfc8-4b59-895e-3ffb348a9b9d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.0815818} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0a88bdcd9c83963770952c6abaa182b9","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689741,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.157221,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da554feb-7edc-43b8-9d49-baf0c687f666","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0a88bdcd9c83963770952c6abaa182b9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/da554feb-7edc-43b8-9d49-baf0c687f666","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"0a88bdcd9c83963770952c6abaa182b9","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1c5b51b-1c4e-4787-9b7d-8f624232e1bf","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0a88bdcd9c83963770952c6abaa182b9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b1c5b51b-1c4e-4787-9b7d-8f624232e1bf","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"0a88bdcd9c83963770952c6abaa182b9","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.413192,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26149ef4-0b13-48fe-bd53-788c0c2d3bd7","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0a88bdcd9c83963770952c6abaa182b9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/26149ef4-0b13-48fe-bd53-788c0c2d3bd7","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"0a88bdcd9c83963770952c6abaa182b9","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.751631,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4898efa1-2f56-4eeb-b85e-9f87a9b289ad","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0a88bdcd9c83963770952c6abaa182b9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4898efa1-2f56-4eeb-b85e-9f87a9b289ad","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0a88bdcd9c83963770952c6abaa182b9","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0a88bdcd9c83963770952c6abaa182b9"} gateway-1 | {"time_local":"02/Apr/2025:18:03:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a88bdcd9c83963770952c6abaa182b9"} device-1 | {"level":"info","message":"GET /devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6? 200 50ms","method":"GET","requestID":"0a88bdcd9c83963770952c6abaa182b9","responseTime":50,"status":200,"url":"/devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA","level":"info","message":"auth send jwt","requestID":"e9ef75e7397c46f4719632e876f7c8c4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e9ef75e7397c46f4719632e876f7c8c4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e9ef75e7397c46f4719632e876f7c8c4"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.73579,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4898efa1-2f56-4eeb-b85e-9f87a9b289ad","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e9ef75e7397c46f4719632e876f7c8c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4898efa1-2f56-4eeb-b85e-9f87a9b289ad","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e9ef75e7397c46f4719632e876f7c8c4","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4898efa1-2f56-4eeb-b85e-9f87a9b289ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4898efa1-2f56-4eeb-b85e-9f87a9b289ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.546780838Z"}]},"request_id":"86820c55-8fc5-46db-b7f0-af28edaca40e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.1616724} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"e9ef75e7397c46f4719632e876f7c8c4","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626728,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639326,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.852364,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7757ac13-fac4-478d-9a06-87d61b4c2215","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e9ef75e7397c46f4719632e876f7c8c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/7757ac13-fac4-478d-9a06-87d61b4c2215","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e9ef75e7397c46f4719632e876f7c8c4","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ceb3c733-dd84-4079-904f-567ec1069a38","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e9ef75e7397c46f4719632e876f7c8c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ceb3c733-dd84-4079-904f-567ec1069a38","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e9ef75e7397c46f4719632e876f7c8c4","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f82dd9f-a4ab-4ed3-b116-f521241b884e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e9ef75e7397c46f4719632e876f7c8c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/6f82dd9f-a4ab-4ed3-b116-f521241b884e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e9ef75e7397c46f4719632e876f7c8c4","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.016033,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e9ef75e7397c46f4719632e876f7c8c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"e9ef75e7397c46f4719632e876f7c8c4","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.745805,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2add693-1740-4b7e-804b-e09d9ba69d66","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e9ef75e7397c46f4719632e876f7c8c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/f2add693-1740-4b7e-804b-e09d9ba69d66","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"e9ef75e7397c46f4719632e876f7c8c4","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46028","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:46028","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.195459,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ede405d0-7b04-4b75-bcc3-47630acb868c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e9ef75e7397c46f4719632e876f7c8c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ede405d0-7b04-4b75-bcc3-47630acb868c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","method":"POST","requestID":"e9ef75e7397c46f4719632e876f7c8c4","responseTime":43,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e9ef75e7397c46f4719632e876f7c8c4"} device-1 | {"level":"info","message":"GET /devices/4898efa1-2f56-4eeb-b85e-9f87a9b289ad? 200 89ms","method":"GET","requestID":"e9ef75e7397c46f4719632e876f7c8c4","responseTime":89,"status":200,"url":"/devices/4898efa1-2f56-4eeb-b85e-9f87a9b289ad?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4898efa1-2f56-4eeb-b85e-9f87a9b289ad? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e9ef75e7397c46f4719632e876f7c8c4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA","level":"info","message":"auth send jwt","requestID":"615178c73deea2d77dc8e4a951631b07"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"615178c73deea2d77dc8e4a951631b07","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"615178c73deea2d77dc8e4a951631b07"} authorization-1 | {"client_addr":"127.0.0.1:46028","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:46028","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.740503,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2add693-1740-4b7e-804b-e09d9ba69d66","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"615178c73deea2d77dc8e4a951631b07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/f2add693-1740-4b7e-804b-e09d9ba69d66","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"615178c73deea2d77dc8e4a951631b07","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2add693-1740-4b7e-804b-e09d9ba69d66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2add693-1740-4b7e-804b-e09d9ba69d66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:21.640682713Z"}]},"request_id":"f419db8d-e946-4658-84e9-ba70ff3497cc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.2308037} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"615178c73deea2d77dc8e4a951631b07","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:46028","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:46028","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.117664,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38620","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.906496,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.751427,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33d69852-b88c-471a-ae4e-b05b94235b0f","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"615178c73deea2d77dc8e4a951631b07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/33d69852-b88c-471a-ae4e-b05b94235b0f","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"615178c73deea2d77dc8e4a951631b07","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dbeb9ca-ffa5-4bd6-b31d-e628ca21c26a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"615178c73deea2d77dc8e4a951631b07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/5dbeb9ca-ffa5-4bd6-b31d-e628ca21c26a","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"615178c73deea2d77dc8e4a951631b07","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.145365,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"615178c73deea2d77dc8e4a951631b07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4526e0ac-b033-4e07-a8fd-c3b57b6d24b6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"615178c73deea2d77dc8e4a951631b07","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c9250b7-ec10-45b6-9ca4-a788d6f15dda","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"615178c73deea2d77dc8e4a951631b07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/5c9250b7-ec10-45b6-9ca4-a788d6f15dda","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"615178c73deea2d77dc8e4a951631b07","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"615178c73deea2d77dc8e4a951631b07"} gateway-1 | {"time_local":"02/Apr/2025:18:03:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f2add693-1740-4b7e-804b-e09d9ba69d66? 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":"615178c73deea2d77dc8e4a951631b07"} device-1 | {"level":"info","message":"GET /devices/f2add693-1740-4b7e-804b-e09d9ba69d66? 200 52ms","method":"GET","requestID":"615178c73deea2d77dc8e4a951631b07","responseTime":52,"status":200,"url":"/devices/f2add693-1740-4b7e-804b-e09d9ba69d66?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA","level":"info","message":"auth send jwt","requestID":"7f0c12db7a68217c2d894cd1d5c12f8d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7f0c12db7a68217c2d894cd1d5c12f8d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7f0c12db7a68217c2d894cd1d5c12f8d"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.758333,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7f0c12db7a68217c2d894cd1d5c12f8d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"7f0c12db7a68217c2d894cd1d5c12f8d","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc0d916a-42ea-4d85-b23b-7d4c55cceb28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4e3b8627-c77d-4c06-a18a-c06946f7a9b2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.4086072} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7f0c12db7a68217c2d894cd1d5c12f8d","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54d96e16-825e-4276-962c-be21de45f78c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.412844} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7f0c12db7a68217c2d894cd1d5c12f8d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc0d916a-42ea-4d85-b23b-7d4c55cceb28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"b30b71a6-b8b9-4110-8e37-d1bdca821beb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.4230838} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"145f9880-f1e2-4fb9-a4c4-e1226933b372","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.4236557} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"7f0c12db7a68217c2d894cd1d5c12f8d","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc0d916a-42ea-4d85-b23b-7d4c55cceb28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc0d916a-42ea-4d85-b23b-7d4c55cceb28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:22.423069175Z"}]},"request_id":"3170fb5d-7de7-47ff-bd10-f688bc10f52d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.453113} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7f0c12db7a68217c2d894cd1d5c12f8d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7f0c12db7a68217c2d894cd1d5c12f8d"} gateway-1 | {"time_local":"02/Apr/2025:18:03:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f0c12db7a68217c2d894cd1d5c12f8d"} device-1 | {"level":"info","message":"POST /devices? 201 175ms","method":"POST","requestID":"7f0c12db7a68217c2d894cd1d5c12f8d","responseTime":175,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA","level":"info","message":"auth send jwt","requestID":"f2e737f9107ac322d8ce6d8020f105d2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f2e737f9107ac322d8ce6d8020f105d2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f2e737f9107ac322d8ce6d8020f105d2"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.349532,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f2e737f9107ac322d8ce6d8020f105d2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f2e737f9107ac322d8ce6d8020f105d2","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd827de-f48a-4ff8-bb44-6475ea9f149b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c22bd218-65fc-4499-a448-3064833542d1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.5001652} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f2e737f9107ac322d8ce6d8020f105d2","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d0943c3-5ce7-429d-8c91-dd66ed3d44d8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.5042953} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f2e737f9107ac322d8ce6d8020f105d2","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd827de-f48a-4ff8-bb44-6475ea9f149b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"68e0bb5b-fff8-48e7-82aa-327b843b9e3d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.5123196} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25eecd24-03ae-4001-94ee-08a61dab7786","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.5125513} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"f2e737f9107ac322d8ce6d8020f105d2","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd827de-f48a-4ff8-bb44-6475ea9f149b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd827de-f48a-4ff8-bb44-6475ea9f149b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:22.512292586Z"}]},"request_id":"3b7ee90b-d2e0-498a-804a-326ac6f5c4b5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.5163069} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f2e737f9107ac322d8ce6d8020f105d2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f2e737f9107ac322d8ce6d8020f105d2"} gateway-1 | {"time_local":"02/Apr/2025:18:03:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2e737f9107ac322d8ce6d8020f105d2"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"f2e737f9107ac322d8ce6d8020f105d2","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA","level":"info","message":"auth send jwt","requestID":"19f59ab8e0d973025cccf39cf0583369"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"19f59ab8e0d973025cccf39cf0583369","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"19f59ab8e0d973025cccf39cf0583369"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.732307,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"19f59ab8e0d973025cccf39cf0583369","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617002,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwMn0.gl9inZNWOxcnMmaRz9b3EN1r5mD9-U-zA90s0KTBsAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"19f59ab8e0d973025cccf39cf0583369","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"55cff4d8-c4f1-4f1a-9ac5-64ee47e24515","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.5664415} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"19f59ab8e0d973025cccf39cf0583369","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f687f5c6-346b-462f-b80c-46ac134a8bc9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.5946422} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"19f59ab8e0d973025cccf39cf0583369","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"b1cfc9a1-25d2-44c6-bc3a-5053afe7e43e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.6052253} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02d2e5a9-d2e0-4768-b3b6-3e9a587ba639","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.6052732} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"19f59ab8e0d973025cccf39cf0583369","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:22.605204211Z"}]},"request_id":"ae0835fb-7a24-4d2e-a5db-f3ed788b0d18","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617002.6093097} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"19f59ab8e0d973025cccf39cf0583369","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"19f59ab8e0d973025cccf39cf0583369"} gateway-1 | {"time_local":"02/Apr/2025:18:03:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19f59ab8e0d973025cccf39cf0583369"} device-1 | {"level":"info","message":"POST /devices? 201 65ms","method":"POST","requestID":"19f59ab8e0d973025cccf39cf0583369","responseTime":65,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6ee039bab9650644ddfec319103a855c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6ee039bab9650644ddfec319103a855c","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/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":"6ee039bab9650644ddfec319103a855c"} device-1 | {"level":"info","message":"OPTIONS /devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/websocket 200 1ms","method":"OPTIONS","requestID":"6ee039bab9650644ddfec319103a855c","responseTime":1,"status":200,"url":"/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA","level":"info","message":"auth send jwt","requestID":"e995c3c5ba39ee5120d8702d9700e4f8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e995c3c5ba39ee5120d8702d9700e4f8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e995c3c5ba39ee5120d8702d9700e4f8"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667738,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e995c3c5ba39ee5120d8702d9700e4f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e995c3c5ba39ee5120d8702d9700e4f8","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"88e80e7e35578373536169030556fe60","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"88e80e7e35578373536169030556fe60","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e995c3c5ba39ee5120d8702d9700e4f8"} gateway-1 | {"time_local":"02/Apr/2025:18:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e995c3c5ba39ee5120d8702d9700e4f8"} device-1 | {"level":"info","message":"POST /devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/websocket 200 42ms","method":"POST","requestID":"e995c3c5ba39ee5120d8702d9700e4f8","responseTime":42,"status":200,"url":"/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/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":"88e80e7e35578373536169030556fe60"} device-1 | {"level":"info","message":"OPTIONS /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/websocket 200 1ms","method":"OPTIONS","requestID":"88e80e7e35578373536169030556fe60","responseTime":1,"status":200,"url":"/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA","level":"info","message":"auth send jwt","requestID":"1ff2aeca4f469a5d32eccaf6984f0904"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1ff2aeca4f469a5d32eccaf6984f0904","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1ff2aeca4f469a5d32eccaf6984f0904"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.774712,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1ff2aeca4f469a5d32eccaf6984f0904","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1ff2aeca4f469a5d32eccaf6984f0904","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1ff2aeca4f469a5d32eccaf6984f0904"} gateway-1 | {"time_local":"02/Apr/2025:18:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1ff2aeca4f469a5d32eccaf6984f0904"} device-1 | {"level":"info","message":"POST /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/websocket 200 41ms","method":"POST","requestID":"1ff2aeca4f469a5d32eccaf6984f0904","responseTime":41,"status":200,"url":"/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA","level":"info","message":"auth send jwt","requestID":"fb9c25a2b61dd33445f31a22c9620e33"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fb9c25a2b61dd33445f31a22c9620e33","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb9c25a2b61dd33445f31a22c9620e33"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.559305,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fb9c25a2b61dd33445f31a22c9620e33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fb9c25a2b61dd33445f31a22c9620e33","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:22.605204211Z"}]},"request_id":"06b87985-abe8-4494-bd39-e530d2fb12f3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.190758} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fb9c25a2b61dd33445f31a22c9620e33","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb9c25a2b61dd33445f31a22c9620e33"} gateway-1 | {"time_local":"02/Apr/2025:18:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb9c25a2b61dd33445f31a22c9620e33"} device-1 | {"level":"info","message":"GET /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155? 200 31ms","method":"GET","requestID":"fb9c25a2b61dd33445f31a22c9620e33","responseTime":31,"status":200,"url":"/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA","level":"info","message":"auth send jwt","requestID":"f31e1f91c09021335c530076af8d970e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f31e1f91c09021335c530076af8d970e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"f31e1f91c09021335c530076af8d970e"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.64016,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f31e1f91c09021335c530076af8d970e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f31e1f91c09021335c530076af8d970e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Attempting to run experiment","requestID":"f31e1f91c09021335c530076af8d970e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Attempting to book experiment","requestID":"f31e1f91c09021335c530076af8d970e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Successfully booked experiment","requestID":"f31e1f91c09021335c530076af8d970e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5ba8840-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5baaf50-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650297,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdd827de-f48a-4ff8-bb44-6475ea9f149b","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c5ba8840-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/bdd827de-f48a-4ff8-bb44-6475ea9f149b","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c5ba8840-0fec-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.605713,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c5baaf50-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c5baaf50-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd827de-f48a-4ff8-bb44-6475ea9f149b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd827de-f48a-4ff8-bb44-6475ea9f149b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:22.512292586Z"}]},"request_id":"c660874e-aa64-4296-bb44-eeab8435e021","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.286876} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c5ba8840-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:22.605204211Z"}]},"request_id":"99e05960-c5e6-4960-8b19-02c47b3788d4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.2875345} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c5baaf50-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5baaf50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155? 200 39ms","method":"GET","requestID":"c5baaf50-0fec-11f0-b95a-67cf87457f46","responseTime":39,"status":200,"url":"/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155?"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658147,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c5ba8840-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c5ba8840-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5ba8840-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/bdd827de-f48a-4ff8-bb44-6475ea9f149b? 200 44ms","method":"GET","requestID":"c5ba8840-0fec-11f0-b95a-67cf87457f46","responseTime":44,"status":200,"url":"/devices/bdd827de-f48a-4ff8-bb44-6475ea9f149b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Setting up experiment","requestID":"f31e1f91c09021335c530076af8d970e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"f31e1f91c09021335c530076af8d970e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"f31e1f91c09021335c530076af8d970e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"f31e1f91c09021335c530076af8d970e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"f31e1f91c09021335c530076af8d970e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"f31e1f91c09021335c530076af8d970e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"f31e1f91c09021335c530076af8d970e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Successfully set up experiment","requestID":"f31e1f91c09021335c530076af8d970e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5ce3750-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5ce8570-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Successfully running experiment","requestID":"f31e1f91c09021335c530076af8d970e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5ced390-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.989243,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c5ce3750-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c5ce3750-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.82953,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c5ce8570-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c5ce8570-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc0d916a-42ea-4d85-b23b-7d4c55cceb28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5cb9d4ff-38e3-4cd6-9fca-435494b885cf","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.3911006} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:22.605204211Z"}]},"request_id":"1782f861-033a-4cc3-b18b-6f30002db181","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.3927374} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.188454,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c5ced390-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","object_type":"device","rebac_allow":false,"scope_allow":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":"c5ced390-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c5ce8570-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc0d916a-42ea-4d85-b23b-7d4c55cceb28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc0d916a-42ea-4d85-b23b-7d4c55cceb28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:22.423069175Z"}]},"request_id":"4ea1635d-8f8d-4948-8b42-50d5a892de81","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.394141} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c5ce3750-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f4b5a7f-5b29-4ac8-a5ce-b0751683584a#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f4b5a7f-5b29-4ac8-a5ce-b0751683584a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"4cf8978c-1bb2-4e07-a91b-3bcad02df855","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.4271138} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8931e8e-9119-4bd2-bcc3-f70b1d58adff","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.4273462} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"f31e1f91c09021335c530076af8d970e","responseTime":39,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5ced390-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/signaling 200 47ms","method":"POST","requestID":"c5ced390-0fec-11f0-b95a-67cf87457f46","responseTime":47,"status":200,"url":"/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5ce8570-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155? 200 50ms","method":"GET","requestID":"c5ce8570-0fec-11f0-b95a-67cf87457f46","responseTime":50,"status":200,"url":"/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5ce3750-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28? 200 53ms","method":"GET","requestID":"c5ce3750-0fec-11f0-b95a-67cf87457f46","responseTime":53,"status":200,"url":"/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5d6e9e0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f337a058-a829-439f-a230-c1b947cdf3f0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.444005} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.105019,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c5d6e9e0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c5d6e9e0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5d84970-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"f31e1f91c09021335c530076af8d970e"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc0d916a-42ea-4d85-b23b-7d4c55cceb28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88bfb96e-e799-40aa-8d8a-cab7c6034b7d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.4771643} experiment-1 | {"level":"info","message":"POST /experiments? 201 277ms","method":"POST","requestID":"f31e1f91c09021335c530076af8d970e","responseTime":277,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.281","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f31e1f91c09021335c530076af8d970e"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.81031,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5d6e9e0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/signaling 200 49ms","method":"POST","requestID":"c5d6e9e0-0fec-11f0-b95a-67cf87457f46","responseTime":49,"status":200,"url":"/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA","level":"info","message":"auth send jwt","requestID":"b4122e67c0e60617ec1bd94b46049a2e"} authentication-1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"b4122e67c0e60617ec1bd94b46049a2e","responseTime":12,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b4122e67c0e60617ec1bd94b46049a2e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c5d84970-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 21ms","method":"POST","requestID":"c5d84970-0fec-11f0-b95a-67cf87457f46","responseTime":21,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.721477,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b4122e67c0e60617ec1bd94b46049a2e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5d84970-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"b4122e67c0e60617ec1bd94b46049a2e","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/signaling 200 76ms","method":"POST","requestID":"c5d84970-0fec-11f0-b95a-67cf87457f46","responseTime":76,"status":200,"url":"/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5e43050-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc0d916a-42ea-4d85-b23b-7d4c55cceb28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc0d916a-42ea-4d85-b23b-7d4c55cceb28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:22.423069175Z"}]},"request_id":"e4fd4e06-d237-4698-a006-d326ad3ad25f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.527655} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b4122e67c0e60617ec1bd94b46049a2e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1ef2a0c-c31e-4ac6-ae65-0b2702978295","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.5312095} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.118299,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b4122e67c0e60617ec1bd94b46049a2e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c5e43050-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"02/Apr/2025:18:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4122e67c0e60617ec1bd94b46049a2e"} device-1 | {"level":"info","message":"GET /devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28? 200 41ms","method":"GET","requestID":"b4122e67c0e60617ec1bd94b46049a2e","responseTime":41,"status":200,"url":"/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28?"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c5e43050-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5e43050-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/signaling 200 11ms","method":"POST","requestID":"c5e43050-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA","level":"info","message":"auth send jwt","requestID":"4122e5c661c306a068c402a9bfa9b661"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"f31e1f91c09021335c530076af8d970e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Building connection plan","requestID":"f31e1f91c09021335c530076af8d970e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4122e5c661c306a068c402a9bfa9b661","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"f89e1d6c-aa2e-4f97-96ad-88e624332712"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"b736d877-df8d-43a9-b563-e546c7fb3470"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0add26f1-e55d-47bc-8e8e-9fbd8363d87d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"f31e1f91c09021335c530076af8d970e"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"f31e1f91c09021335c530076af8d970e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4122e5c661c306a068c402a9bfa9b661"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c5e67a40-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654968,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4122e5c661c306a068c402a9bfa9b661","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4122e5c661c306a068c402a9bfa9b661","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.920866,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c5e67a40-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"c5e67a40-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:22.605204211Z"}]},"request_id":"09620c9a-e596-44b5-a5a9-84224cacf549","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.572843} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4122e5c661c306a068c402a9bfa9b661","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4122e5c661c306a068c402a9bfa9b661"} gateway-1 | {"time_local":"02/Apr/2025:18:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155? 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":"4122e5c661c306a068c402a9bfa9b661"} device-1 | {"level":"info","message":"GET /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155? 200 40ms","method":"GET","requestID":"4122e5c661c306a068c402a9bfa9b661","responseTime":40,"status":200,"url":"/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"e525af7e-3492-415a-8290-d8f5b3710c84","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.5797725} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60545262-94aa-4b4d-840e-d76c2f4db429","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.5800717} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c5e67a40-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c5e67a40-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c5e67a40-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82'","requestID":"c5e67a40-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82'","requestID":"c5e67a40-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c5e67a40-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 79ms","method":"POST","requestID":"c5e67a40-0fec-11f0-b95a-67cf87457f46","responseTime":79,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c5e67a40-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82","device":"cfc1dd6c-e806-43f1-98b0-df0b98a79155","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/dc9791b0-0194-46b3-ab75-dccce8eeae82","device":"fc0d916a-42ea-4d85-b23b-7d4c55cceb28","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"f31e1f91c09021335c530076af8d970e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5fa2950-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc0d916a-42ea-4d85-b23b-7d4c55cceb28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb944eca-c134-4c04-ad7e-ee2ae7933588","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.6741087} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.915711,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c5fa2950-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c5fa2950-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"cfc1dd6c-e806-43f1-98b0-df0b98a79155","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"cfc1dd6c-e806-43f1-98b0-df0b98a79155","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5fa2950-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/signaling 200 11ms","method":"POST","requestID":"c5fa2950-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5fc4c30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} device-1 | {"device":"fc0d916a-42ea-4d85-b23b-7d4c55cceb28","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"fc0d916a-42ea-4d85-b23b-7d4c55cceb28","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d34961a-fe25-4353-bef4-99fea398fcbf","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.6875536} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.546364,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c5fc4c30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","object_type":"device","rebac_allow":false,"scope_allow":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":"c5fc4c30-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 2464886712191792589 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:FADA\r\na=ice-pwd:lTG5OUqwPOqU+hzA9jQzfH5A\r\na=ice-options:trickle\r\na=fingerprint:sha-256 AC:EA:3A:0D:05:43:93:2D:AF:E6:3C:95:20:53:F8:05:9C:93:CE:D8:93:09:0D:A4:F1:0B:8B:F4:9E:90:00:65\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"fc0d916a-42ea-4d85-b23b-7d4c55cceb28","deviceName":"Internal Test Device","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/fc0d916a-42ea-4d85-b23b-7d4c55cceb28'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5fc4c30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/signaling 200 37ms","method":"POST","requestID":"c5fc4c30-0fec-11f0-b95a-67cf87457f46","responseTime":37,"status":200,"url":"/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 2771054378651839923 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:zVYv\r\na=ice-pwd:plbxkjCLrcfwQTqrY6xmgH3y\r\na=ice-options:trickle\r\na=fingerprint:sha-256 64:54:7B:DE:5F:4A:44:48:1E:4C:97:BF:F3:D2:F7:32:2A:BA:E8:B4:E6:AD:F3:16:70:29:25:00:8D:B0:DA:0E\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"cfc1dd6c-e806-43f1-98b0-df0b98a79155","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:874525940 1 udp 2113937151 92763402-64b0-4849-847d-6e0d205b3e43.local 52582 typ host generation 0 ufrag zVYv network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"cfc1dd6c-e806-43f1-98b0-df0b98a79155","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/cfc1dd6c-e806-43f1-98b0-df0b98a79155'"} device-1 | {"content":{"candidate":"candidate:3819841954 1 udp 2113937151 808d1b70-096f-4429-a5fd-7e8e696d9dfd.local 46911 typ host generation 0 ufrag FADA network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"fc0d916a-42ea-4d85-b23b-7d4c55cceb28","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"fc0d916a-42ea-4d85-b23b-7d4c55cceb28","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"cfc1dd6c-e806-43f1-98b0-df0b98a79155","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":"95ab68828ecb8929228cf42cef91de36","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"95ab68828ecb8929228cf42cef91de36","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dc9791b0-0194-46b3-ab75-dccce8eeae82","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"fc0d916a-42ea-4d85-b23b-7d4c55cceb28","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"cfc1dd6c-e806-43f1-98b0-df0b98a79155","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"fc0d916a-42ea-4d85-b23b-7d4c55cceb28","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"cfc1dd6c-e806-43f1-98b0-df0b98a79155","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82"}}},"level":"info","message":"received a callback","requestID":"95ab68828ecb8929228cf42cef91de36"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"95ab68828ecb8929228cf42cef91de36","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"95ab68828ecb8929228cf42cef91de36"} device-1 | {"device":"cfc1dd6c-e806-43f1-98b0-df0b98a79155","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"dc9791b0-0194-46b3-ab75-dccce8eeae82","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"dc9791b0-0194-46b3-ab75-dccce8eeae82","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/dc9791b0-0194-46b3-ab75-dccce8eeae82' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dc9791b0-0194-46b3-ab75-dccce8eeae82","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82"}}},"level":"info","message":"received a callback","requestID":"7971fe5bdb3be0bbf9d4b3be49b29fc9"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7971fe5bdb3be0bbf9d4b3be49b29fc9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7971fe5bdb3be0bbf9d4b3be49b29fc9","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c6179c60-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdc9791b0-0194-46b3-ab75-dccce8eeae82","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8fb0c290-475a-4715-b701-888d20fd9a21","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.8670292} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.239132,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c6179c60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82","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":"c6179c60-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c6179c60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82 200 9ms","method":"GET","requestID":"c6179c60-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA","level":"info","message":"auth send jwt","requestID":"83a27274450fad7f01a45a4307c5b8a4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"83a27274450fad7f01a45a4307c5b8a4","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a","requestID":"83a27274450fad7f01a45a4307c5b8a4"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.622335,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"83a27274450fad7f01a45a4307c5b8a4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"83a27274450fad7f01a45a4307c5b8a4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 58ms","method":"POST","requestID":"7971fe5bdb3be0bbf9d4b3be49b29fc9","responseTime":58,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch","requestID":"7971fe5bdb3be0bbf9d4b3be49b29fc9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c62000d0-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a","requestID":"83a27274450fad7f01a45a4307c5b8a4"} gateway-1 | {"time_local":"02/Apr/2025:18:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83a27274450fad7f01a45a4307c5b8a4"} experiment-1 | {"level":"info","message":"GET /experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a 200 14ms","method":"GET","requestID":"83a27274450fad7f01a45a4307c5b8a4","responseTime":14,"status":200,"url":"/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b870f65-8839-454f-ab6b-184297b64fce","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.9216187} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.560562,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c62000d0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA","level":"info","message":"auth send jwt","requestID":"22e27ef8a407937b93fd39f01599e359"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c62000d0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"22e27ef8a407937b93fd39f01599e359","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a","requestID":"22e27ef8a407937b93fd39f01599e359"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c62000d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/signaling 200 10ms","method":"POST","requestID":"c62000d0-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/signaling"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":25.143708,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"22e27ef8a407937b93fd39f01599e359","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c625a620-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"22e27ef8a407937b93fd39f01599e359","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Attempting to finish experiment","requestID":"22e27ef8a407937b93fd39f01599e359"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc0d916a-42ea-4d85-b23b-7d4c55cceb28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b599b38-fa8b-4c57-852b-eaf546096f58","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617005.960298} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.722183,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c626b790-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c625a620-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c625a620-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.699288,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:25Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c625a620-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/signaling 200 11ms","method":"POST","requestID":"c625a620-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/signaling"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c626b790-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617005,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNX0.fsTgcNfMRrXNMD8JyacW69ae4WjxESujF6GbaaCEHWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c626b790-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82","device":"cfc1dd6c-e806-43f1-98b0-df0b98a79155","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82","device":"fc0d916a-42ea-4d85-b23b-7d4c55cceb28","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/dc9791b0-0194-46b3-ab75-dccce8eeae82' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dc9791b0-0194-46b3-ab75-dccce8eeae82","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82"}}},"level":"info","message":"received a callback","requestID":"77b87e64ac0d7d94f873c630cd6f24db"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"77b87e64ac0d7d94f873c630cd6f24db","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdc9791b0-0194-46b3-ab75-dccce8eeae82': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdc9791b0-0194-46b3-ab75-dccce8eeae82","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"d0ace1b7-904e-4e7a-afe7-2ec605b824d4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.0014524} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aea61dee-9e25-47b8-9424-3d2b4d4324a6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.0018065} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"c626b790-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"77b87e64ac0d7d94f873c630cd6f24db","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"84db35a45689819a112cf33540b31612","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"84db35a45689819a112cf33540b31612","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/cfc1dd6c-e806-43f1-98b0-df0b98a79155"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82"}}},"level":"info","message":"received a callback","requestID":"84db35a45689819a112cf33540b31612"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c626b790-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82 204 293ms","method":"DELETE","requestID":"c626b790-0fec-11f0-b95a-67cf87457f46","responseTime":293,"status":204,"url":"/peerconnections/dc9791b0-0194-46b3-ab75-dccce8eeae82"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"},"level":"info","message":"Successfully finished experiment","requestID":"22e27ef8a407937b93fd39f01599e359"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c659fc90-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:26Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfc1dd6c-e806-43f1-98b0-df0b98a79155","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e580fd23-e498-44e9-9eb1-c6679f4f5449","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.3020756} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.611305,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c659fc90-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155","object_type":"device","rebac_allow":false,"scope_allow":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":"c659fc90-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c659fc90-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/signaling 200 9ms","method":"POST","requestID":"c659fc90-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/cfc1dd6c-e806-43f1-98b0-df0b98a79155/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f4b5a7f-5b29-4ac8-a5ce-b0751683584a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f4b5a7f-5b29-4ac8-a5ce-b0751683584a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"b029c736-2e65-4c08-b624-543e03aefe42","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.3080504} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c65bd150-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"079a40c8-81ab-4e36-8be0-f12cb192021d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.3083377} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"22e27ef8a407937b93fd39f01599e359","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:26Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc0d916a-42ea-4d85-b23b-7d4c55cceb28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f08ecb77-ae62-41e7-9974-e647af69da4a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.337138} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.639083,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c65bd150-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28","object_type":"device","rebac_allow":false,"scope_allow":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":"c65bd150-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c65bd150-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/signaling 200 33ms","method":"POST","requestID":"c65bd150-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a","requestID":"22e27ef8a407937b93fd39f01599e359"} gateway-1 | {"time_local":"02/Apr/2025:18:03:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.517","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22e27ef8a407937b93fd39f01599e359"} experiment-1 | {"level":"info","message":"DELETE /experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a 204 513ms","method":"DELETE","requestID":"22e27ef8a407937b93fd39f01599e359","responseTime":513,"status":204,"url":"/experiments/4f4b5a7f-5b29-4ac8-a5ce-b0751683584a"} gateway-1 | {"time_local":"02/Apr/2025:18:03: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.465","http_referrer":"","http_user_agent":"node-fetch","requestID":"77b87e64ac0d7d94f873c630cd6f24db"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 438ms","method":"POST","requestID":"77b87e64ac0d7d94f873c630cd6f24db","responseTime":438,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNn0.4o_twKq-5zFEEMj8LMZ9B2wEbAxdnYw0dDArWYqS3rs","level":"info","message":"auth send jwt","requestID":"b8e6d6a0ecde04f7d2b5bed7668a2020"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b8e6d6a0ecde04f7d2b5bed7668a2020","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b8e6d6a0ecde04f7d2b5bed7668a2020"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 441ms","method":"POST","requestID":"84db35a45689819a112cf33540b31612","responseTime":441,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03: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.444","http_referrer":"","http_user_agent":"node-fetch","requestID":"84db35a45689819a112cf33540b31612"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:26Z"} gateway-1 | {"time_local":"02/Apr/2025:18:03:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","request_time":"1.350","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"603bb7abd45acc223e02df46013f358d"} gateway-1 | {"time_local":"02/Apr/2025:18:03:26 +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.301","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6f3cd4e2412215e4e53c6467c3b40a55"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.04699,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b8e6d6a0ecde04f7d2b5bed7668a2020","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617006,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNn0.4o_twKq-5zFEEMj8LMZ9B2wEbAxdnYw0dDArWYqS3rs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b8e6d6a0ecde04f7d2b5bed7668a2020","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/cfc1dd6c-e806-43f1-98b0-df0b98a79155' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"edd4e184-7fd1-4fa1-ae7c-dd5f2ae50fee","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.4858456} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"b8e6d6a0ecde04f7d2b5bed7668a2020","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fc0d916a-42ea-4d85-b23b-7d4c55cceb28' 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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48c3382b-f49c-4233-8372-3caa5273a2ec","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.4909244} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b8e6d6a0ecde04f7d2b5bed7668a2020","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"83d67938-af28-44d0-9b7e-28eb6d018f40","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.4999537} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"580f06e1-4d64-490d-8a59-328b5c4945c9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.5000646} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"b8e6d6a0ecde04f7d2b5bed7668a2020","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:26.499935848Z"}]},"request_id":"a4944b49-3416-47cf-ba9f-921248d28edc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.5296512} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"b8e6d6a0ecde04f7d2b5bed7668a2020","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b8e6d6a0ecde04f7d2b5bed7668a2020"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"b8e6d6a0ecde04f7d2b5bed7668a2020","responseTime":88,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8e6d6a0ecde04f7d2b5bed7668a2020"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNn0.4o_twKq-5zFEEMj8LMZ9B2wEbAxdnYw0dDArWYqS3rs","level":"info","message":"auth send jwt","requestID":"56042aee9ee5cc85ee2e2bb4bdd778d8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"56042aee9ee5cc85ee2e2bb4bdd778d8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"56042aee9ee5cc85ee2e2bb4bdd778d8"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.705287,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"56042aee9ee5cc85ee2e2bb4bdd778d8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617006,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwNn0.4o_twKq-5zFEEMj8LMZ9B2wEbAxdnYw0dDArWYqS3rs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"56042aee9ee5cc85ee2e2bb4bdd778d8","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bf90732b-a97e-4152-8e3e-211984adf32b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.5770924} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"56042aee9ee5cc85ee2e2bb4bdd778d8","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"18679b3c-ec0f-4bfc-ac09-c7f80cbb6364","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.5812848} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"56042aee9ee5cc85ee2e2bb4bdd778d8","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"d6ae5c51-2287-44e5-a9f6-0754f68aeaf2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.5964527} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"45b7fdee-3c02-424b-8fdc-6cbe2f669c50","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.5966063} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"56042aee9ee5cc85ee2e2bb4bdd778d8","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:26.596432603Z"}]},"request_id":"c04f8306-3f56-4ae6-9d95-5c5122381eaf","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617006.600584} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"56042aee9ee5cc85ee2e2bb4bdd778d8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"56042aee9ee5cc85ee2e2bb4bdd778d8"} gateway-1 | {"time_local":"02/Apr/2025:18:03:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56042aee9ee5cc85ee2e2bb4bdd778d8"} device-1 | {"level":"info","message":"POST /devices? 201 66ms","method":"POST","requestID":"56042aee9ee5cc85ee2e2bb4bdd778d8","responseTime":66,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwN30.vahbEuTkuEExRN_tNkD57wOUZeLdsUl_EuLF6ICC81A","level":"info","message":"auth send jwt","requestID":"904390cc319567ddc2b0345649c36467"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"904390cc319567ddc2b0345649c36467","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"904390cc319567ddc2b0345649c36467"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743232,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"904390cc319567ddc2b0345649c36467","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617007,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwN30.vahbEuTkuEExRN_tNkD57wOUZeLdsUl_EuLF6ICC81A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"904390cc319567ddc2b0345649c36467","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:26.499935848Z"}]},"request_id":"c975bfb3-bb18-4feb-a25f-76181401331f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617007.6349447} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"904390cc319567ddc2b0345649c36467","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"662b12c0-d67a-4e37-8f62-6cee41cac948","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617007.6400464} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"904390cc319567ddc2b0345649c36467","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:26.499935848Z"}]},"request_id":"71d74ce9-d649-4a42-b82e-34e6f4a862e8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617007.6882892} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"904390cc319567ddc2b0345649c36467","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"904390cc319567ddc2b0345649c36467"} device-1 | {"level":"info","message":"PATCH /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1 200 88ms","method":"PATCH","requestID":"904390cc319567ddc2b0345649c36467","responseTime":88,"status":200,"url":"/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1"} gateway-1 | {"time_local":"02/Apr/2025:18:03:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.092","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"904390cc319567ddc2b0345649c36467"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwN30.vahbEuTkuEExRN_tNkD57wOUZeLdsUl_EuLF6ICC81A","level":"info","message":"auth send jwt","requestID":"2fbe57bd3bf99184eb2c0d1c78717cf0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2fbe57bd3bf99184eb2c0d1c78717cf0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2fbe57bd3bf99184eb2c0d1c78717cf0"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652787,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"2fbe57bd3bf99184eb2c0d1c78717cf0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617007,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwN30.vahbEuTkuEExRN_tNkD57wOUZeLdsUl_EuLF6ICC81A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2fbe57bd3bf99184eb2c0d1c78717cf0","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2fbe57bd3bf99184eb2c0d1c78717cf0"} gateway-1 | {"time_local":"02/Apr/2025:18:03:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"2fbe57bd3bf99184eb2c0d1c78717cf0"} device-1 | {"level":"info","message":"POST /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1/websocket 200 39ms","method":"POST","requestID":"2fbe57bd3bf99184eb2c0d1c78717cf0","responseTime":39,"status":200,"url":"/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"10b590d610acb91e0dcbe9860c9f6883","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"10b590d610acb91e0dcbe9860c9f6883","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/af3e8af1-7280-477c-9a71-e37ceffb26be/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":"10b590d610acb91e0dcbe9860c9f6883"} device-1 | {"level":"info","message":"OPTIONS /devices/af3e8af1-7280-477c-9a71-e37ceffb26be/websocket 200 1ms","method":"OPTIONS","requestID":"10b590d610acb91e0dcbe9860c9f6883","responseTime":1,"status":200,"url":"/devices/af3e8af1-7280-477c-9a71-e37ceffb26be/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg","level":"info","message":"auth send jwt","requestID":"37b078be547cf06fa35ae0fb32c8fe4b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"37b078be547cf06fa35ae0fb32c8fe4b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"37b078be547cf06fa35ae0fb32c8fe4b"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.78466,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"37b078be547cf06fa35ae0fb32c8fe4b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617009,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"37b078be547cf06fa35ae0fb32c8fe4b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"37b078be547cf06fa35ae0fb32c8fe4b"} gateway-1 | {"time_local":"02/Apr/2025:18:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/af3e8af1-7280-477c-9a71-e37ceffb26be/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":"37b078be547cf06fa35ae0fb32c8fe4b"} device-1 | {"level":"info","message":"POST /devices/af3e8af1-7280-477c-9a71-e37ceffb26be/websocket 200 44ms","method":"POST","requestID":"37b078be547cf06fa35ae0fb32c8fe4b","responseTime":44,"status":200,"url":"/devices/af3e8af1-7280-477c-9a71-e37ceffb26be/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg","level":"info","message":"auth send jwt","requestID":"add22a187480fbd08834085d1a8e4252"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"add22a187480fbd08834085d1a8e4252","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"add22a187480fbd08834085d1a8e4252"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.867646,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"add22a187480fbd08834085d1a8e4252","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617009,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"add22a187480fbd08834085d1a8e4252","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:26.499935848Z"}]},"request_id":"3fc585be-2b30-40c2-8e2d-c69e1ae5ad76","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.1825445} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"add22a187480fbd08834085d1a8e4252","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"add22a187480fbd08834085d1a8e4252"} gateway-1 | {"time_local":"02/Apr/2025:18:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1? 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":"add22a187480fbd08834085d1a8e4252"} device-1 | {"level":"info","message":"GET /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1? 200 11ms","method":"GET","requestID":"add22a187480fbd08834085d1a8e4252","responseTime":11,"status":200,"url":"/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg","level":"info","message":"auth send jwt","requestID":"36b7ec5f8f5b38e1abc708f8b4641e3e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"36b7ec5f8f5b38e1abc708f8b4641e3e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"36b7ec5f8f5b38e1abc708f8b4641e3e"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.721404,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"36b7ec5f8f5b38e1abc708f8b4641e3e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617009,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"36b7ec5f8f5b38e1abc708f8b4641e3e","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:26.596432603Z"}]},"request_id":"817ddd8d-d7f4-4c31-8a3e-8cf90f7cb6ee","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.2217348} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"36b7ec5f8f5b38e1abc708f8b4641e3e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"36b7ec5f8f5b38e1abc708f8b4641e3e"} device-1 | {"level":"info","message":"GET /devices/af3e8af1-7280-477c-9a71-e37ceffb26be? 200 34ms","method":"GET","requestID":"36b7ec5f8f5b38e1abc708f8b4641e3e","responseTime":34,"status":200,"url":"/devices/af3e8af1-7280-477c-9a71-e37ceffb26be?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/af3e8af1-7280-477c-9a71-e37ceffb26be? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"36b7ec5f8f5b38e1abc708f8b4641e3e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg","level":"info","message":"auth send jwt","requestID":"def01f7b2e4822d322840db8edd36a00"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"def01f7b2e4822d322840db8edd36a00","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"def01f7b2e4822d322840db8edd36a00"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.69765,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"def01f7b2e4822d322840db8edd36a00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617009,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"def01f7b2e4822d322840db8edd36a00","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Attempting to run experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Attempting to book experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Successfully booked experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c827dec0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c82805d0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.896601,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c827dec0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617009,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c827dec0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.308903,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c82805d0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617009,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c82805d0-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:26.499935848Z"}]},"request_id":"e3f61477-8340-4c07-abe4-3c5467f8bae8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.3319721} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c827dec0-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:26.596432603Z"}]},"request_id":"f30454b4-309d-4ce4-81c9-0183115291d7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.3326662} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c82805d0-0fec-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c827dec0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1? 200 12ms","method":"GET","requestID":"c827dec0-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c82805d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/af3e8af1-7280-477c-9a71-e37ceffb26be? 200 36ms","method":"GET","requestID":"c82805d0-0fec-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/af3e8af1-7280-477c-9a71-e37ceffb26be?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Setting up experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Successfully locked booking for experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Attempting to update booking for experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Successfully updated booking for experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Successfully set up experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c836abd0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c836d2e0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c8372100-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Successfully running experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:59070","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.965116,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c836abd0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617009,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c836abd0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.783084,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c836d2e0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617009,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c836d2e0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45910","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:26.596432603Z"}]},"request_id":"56c1308b-b252-44b0-9225-d95399dda4c5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.4326904} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f04794d1-9f8e-453d-8b6e-7624ad8d6655","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.4573078} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"c836d2e0-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:26.499935848Z"}]},"request_id":"78520126-25fe-4a09-a036-deb365530f94","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.4579523} authorization-1 | {"client_addr":"127.0.0.1:45910","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.013057,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c8372100-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"c8372100-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"c836abd0-0fec-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c836d2e0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/af3e8af1-7280-477c-9a71-e37ceffb26be? 200 40ms","method":"GET","requestID":"c836d2e0-0fec-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/devices/af3e8af1-7280-477c-9a71-e37ceffb26be?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c8372100-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1/signaling 200 41ms","method":"POST","requestID":"c8372100-0fec-11f0-b95a-67cf87457f46","responseTime":41,"status":200,"url":"/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c836abd0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1? 200 45ms","method":"GET","requestID":"c836abd0-0fec-11f0-b95a-67cf87457f46","responseTime":45,"status":200,"url":"/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c83db0b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c83dfed0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F90d3fd02-ae86-467c-960b-aa242cb96fdc#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F90d3fd02-ae86-467c-960b-aa242cb96fdc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"788e2c74-ca59-415b-a776-54592755b26e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.4695036} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9234720c-27f2-4f27-be1e-db33c5916ab9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.4698248} authorization-1 | {"client_addr":"127.0.0.1:45910","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"028272d2-11d2-4928-a32b-81a6bd1d9f7b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.4719698} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:45910","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.265452,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"def01f7b2e4822d322840db8edd36a00","responseTime":44,"status":200,"url":"/relations/update"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c83db0b0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c83db0b0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9f1f5bf-cbd8-445a-afc9-df5edb97a34c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.4742486} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.534663,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c83dfed0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c83dfed0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c83db0b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/af3e8af1-7280-477c-9a71-e37ceffb26be/signaling 200 12ms","method":"POST","requestID":"c83db0b0-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/af3e8af1-7280-477c-9a71-e37ceffb26be/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"def01f7b2e4822d322840db8edd36a00"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c83dfed0-0fec-11f0-b95a-67cf87457f46"} gateway-1 | {"time_local":"02/Apr/2025:18:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.253","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"def01f7b2e4822d322840db8edd36a00"} device-1 | {"level":"info","message":"POST /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1/signaling 200 11ms","method":"POST","requestID":"c83dfed0-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 249ms","method":"POST","requestID":"def01f7b2e4822d322840db8edd36a00","responseTime":249,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c84021b0-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg","level":"info","message":"auth send jwt","requestID":"aba37afb5e12c1092ec830a505bb094a"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"aba37afb5e12c1092ec830a505bb094a","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aba37afb5e12c1092ec830a505bb094a"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:45910","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f11756d-c6ef-4e99-a0f2-8bacf82f5374","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.5116158} authorization-1 | {"client_addr":"127.0.0.1:45910","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698327,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"aba37afb5e12c1092ec830a505bb094a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617009,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"aba37afb5e12c1092ec830a505bb094a","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.370107,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c84021b0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","object_type":"device","rebac_allow":false,"scope_allow":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":"c84021b0-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:26.499935848Z"}]},"request_id":"26e54398-b700-41c6-9b7a-77abfa69f4aa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.5154972} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c84021b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/af3e8af1-7280-477c-9a71-e37ceffb26be/signaling 200 33ms","method":"POST","requestID":"c84021b0-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/af3e8af1-7280-477c-9a71-e37ceffb26be/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"aba37afb5e12c1092ec830a505bb094a","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Building connection plan","requestID":"def01f7b2e4822d322840db8edd36a00"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"8c45166e-c78a-4bf9-bb77-dd242da3f76e"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"1bcbbd4a-fbd7-4c98-9a52-f8bf7b98091b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c4f1724e-3594-457c-ab57-acb59dd0c1ee"}]},"level":"info","message":"Built pairwise service configurations","requestID":"def01f7b2e4822d322840db8edd36a00"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"def01f7b2e4822d322840db8edd36a00"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aba37afb5e12c1092ec830a505bb094a"} gateway-1 | {"time_local":"02/Apr/2025:18:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1? 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":"aba37afb5e12c1092ec830a505bb094a"} device-1 | {"level":"info","message":"GET /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1? 200 10ms","method":"GET","requestID":"aba37afb5e12c1092ec830a505bb094a","responseTime":10,"status":200,"url":"/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c845c700-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg","level":"info","message":"auth send jwt","requestID":"6b63d158ccb64237a1d6c2eae7b85771"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6b63d158ccb64237a1d6c2eae7b85771","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.689812,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b63d158ccb64237a1d6c2eae7b85771"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c845c700-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617009,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c845c700-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.749052,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"6b63d158ccb64237a1d6c2eae7b85771","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617009,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAwOX0.Q6lYYkfDWSz6IIiHgtXCPRZflbgFPfagtiAHIj4wSyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6b63d158ccb64237a1d6c2eae7b85771","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:26.596432603Z"}]},"request_id":"9bbce54b-adb4-465b-b8e5-6f6700aafee0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.555042} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6b63d158ccb64237a1d6c2eae7b85771","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b63d158ccb64237a1d6c2eae7b85771"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"f38c64a2-082d-448f-8b14-60f6cec2937c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.5581293} gateway-1 | {"time_local":"02/Apr/2025:18:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/af3e8af1-7280-477c-9a71-e37ceffb26be? 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":"6b63d158ccb64237a1d6c2eae7b85771"} device-1 | {"level":"info","message":"GET /devices/af3e8af1-7280-477c-9a71-e37ceffb26be? 200 35ms","method":"GET","requestID":"6b63d158ccb64237a1d6c2eae7b85771","responseTime":35,"status":200,"url":"/devices/af3e8af1-7280-477c-9a71-e37ceffb26be?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41e3b779-adf7-4450-9ed2-09d709eb2adf","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.5583773} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"c845c700-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c845c700-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c845c700-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778'","requestID":"c845c700-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778'","requestID":"c845c700-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c845c700-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 59ms","method":"POST","requestID":"c845c700-0fec-11f0-b95a-67cf87457f46","responseTime":59,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c845c700-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778","device":"af3e8af1-7280-477c-9a71-e37ceffb26be","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"def01f7b2e4822d322840db8edd36a00"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c85a3960-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} device-1 | {"device":"af3e8af1-7280-477c-9a71-e37ceffb26be","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"af3e8af1-7280-477c-9a71-e37ceffb26be","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a1fd5b5-9bd7-4443-bc03-cb1d77132c78","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.6593614} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.312485,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c85a3960-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","object_type":"device","rebac_allow":false,"scope_allow":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":"c85a3960-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 5968310782290811587 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:6FWY\r\na=ice-pwd:0Twjp7ZbGuLuKJCaBVHSTLe7\r\na=ice-options:trickle\r\na=fingerprint:sha-256 3A:3B:74:A7:78:9A:46:02:4B:C1:F4:EB:02:92:DE:F3:5C:04:5A:5F:63:43:57:01:BF:C3:15:FE:42:91:BD:4B\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"af3e8af1-7280-477c-9a71-e37ceffb26be","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c85a3960-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1/signaling 200 13ms","method":"POST","requestID":"c85a3960-0fec-11f0-b95a-67cf87457f46","responseTime":13,"status":200,"url":"/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c85c8350-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c52b897a-e6b6-4932-82f2-a74072ef1aae","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617009.6972916} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.646615,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c85c8350-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","object_type":"device","rebac_allow":false,"scope_allow":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":"c85c8350-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c85c8350-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/af3e8af1-7280-477c-9a71-e37ceffb26be/signaling 200 32ms","method":"POST","requestID":"c85c8350-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/devices/af3e8af1-7280-477c-9a71-e37ceffb26be/signaling"} device-1 | {"device":"af3e8af1-7280-477c-9a71-e37ceffb26be","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"101f5143-c7c3-4240-950a-363121038778","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"101f5143-c7c3-4240-950a-363121038778","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1c6eb656489a7743f447c9eca72c4a5c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1c6eb656489a7743f447c9eca72c4a5c","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/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778"}}},"level":"info","message":"received a callback","requestID":"1c6eb656489a7743f447c9eca72c4a5c"} device-1 | {"content":{"candidate":"candidate:1946736836 1 udp 2113937151 fc9d64e7-a396-49d1-a301-f5988df44f73.local 55987 typ host generation 0 ufrag 6FWY network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"af3e8af1-7280-477c-9a71-e37ceffb26be","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"af3e8af1-7280-477c-9a71-e37ceffb26be","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"1c6eb656489a7743f447c9eca72c4a5c","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"1c6eb656489a7743f447c9eca72c4a5c"} device-1 | {"data":{"peerconnection":"101f5143-c7c3-4240-950a-363121038778","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"af3e8af1-7280-477c-9a71-e37ceffb26be","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"101f5143-c7c3-4240-950a-363121038778","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/101f5143-c7c3-4240-950a-363121038778' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"101f5143-c7c3-4240-950a-363121038778","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0bf13f4340d64b44c63ac251a1d4ab07","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"0bf13f4340d64b44c63ac251a1d4ab07","responseTime":25,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778"}}},"level":"info","message":"received a callback","requestID":"0bf13f4340d64b44c63ac251a1d4ab07"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c9955170-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:31Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F101f5143-c7c3-4240-950a-363121038778","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62b0f288-e896-4fbd-b77e-9bfd6b214ad6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617011.72443} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.847545,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c9955170-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778","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":"c9955170-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c9955170-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/101f5143-c7c3-4240-950a-363121038778 200 10ms","method":"GET","requestID":"c9955170-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/peerconnections/101f5143-c7c3-4240-950a-363121038778"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 53ms","method":"POST","requestID":"0bf13f4340d64b44c63ac251a1d4ab07","responseTime":53,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch","requestID":"0bf13f4340d64b44c63ac251a1d4ab07"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c99ccb80-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:31Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b3d145a-eb4b-4513-9a3a-1861c9476769","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617011.773142} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.32843,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c99ccb80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c99ccb80-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c99ccb80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1/signaling 200 9ms","method":"POST","requestID":"c99ccb80-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c99e7930-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:31Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de7e54db-1a03-4045-93c6-292342fbc73c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617011.7836483} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.374994,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c99e7930-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","object_type":"device","rebac_allow":false,"scope_allow":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":"c99e7930-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c99e7930-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/af3e8af1-7280-477c-9a71-e37ceffb26be/signaling 200 33ms","method":"POST","requestID":"c99e7930-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/af3e8af1-7280-477c-9a71-e37ceffb26be/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxMX0.HGKox-zDcvsy-TQAHotDMtGnJc3BSP2jTjtMzSEXqKg","level":"info","message":"auth send jwt","requestID":"97ceb461c47f24802f98166efc55c75b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"97ceb461c47f24802f98166efc55c75b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc","requestID":"97ceb461c47f24802f98166efc55c75b"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:31Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.804284,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"97ceb461c47f24802f98166efc55c75b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617011,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxMX0.HGKox-zDcvsy-TQAHotDMtGnJc3BSP2jTjtMzSEXqKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"97ceb461c47f24802f98166efc55c75b","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc","requestID":"97ceb461c47f24802f98166efc55c75b"} gateway-1 | {"time_local":"02/Apr/2025:18:03:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97ceb461c47f24802f98166efc55c75b"} experiment-1 | {"level":"info","message":"GET /experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc 200 9ms","method":"GET","requestID":"97ceb461c47f24802f98166efc55c75b","responseTime":9,"status":200,"url":"/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxMX0.HGKox-zDcvsy-TQAHotDMtGnJc3BSP2jTjtMzSEXqKg","level":"info","message":"auth send jwt","requestID":"4f313004b610665b73460190f4a612ea"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4f313004b610665b73460190f4a612ea","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc","requestID":"4f313004b610665b73460190f4a612ea"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:31Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.689582,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4f313004b610665b73460190f4a612ea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617011,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxMX0.HGKox-zDcvsy-TQAHotDMtGnJc3BSP2jTjtMzSEXqKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"4f313004b610665b73460190f4a612ea","responseTime":26,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Attempting to finish experiment","requestID":"4f313004b610665b73460190f4a612ea"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c9ba8cb0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:31Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.6494,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c9ba8cb0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617011,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxMX0.HGKox-zDcvsy-TQAHotDMtGnJc3BSP2jTjtMzSEXqKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c9ba8cb0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778","device":"af3e8af1-7280-477c-9a71-e37ceffb26be","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"101f5143-c7c3-4240-950a-363121038778","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F101f5143-c7c3-4240-950a-363121038778': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F101f5143-c7c3-4240-950a-363121038778","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"64996f1b-10f3-4527-9cc7-d3194107c844","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.002638} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e60b7a1-1b4a-4962-ba75-a330d95663f1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.002912} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"c9ba8cb0-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3a8b2ae7ec6598316c81383a4763bbf4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3a8b2ae7ec6598316c81383a4763bbf4","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1a1d03f74e100d4ec417d2e64b325836","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778"}}},"level":"info","message":"received a callback","requestID":"3a8b2ae7ec6598316c81383a4763bbf4"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1a1d03f74e100d4ec417d2e64b325836","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/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/101f5143-c7c3-4240-950a-363121038778"}}},"level":"info","message":"received a callback","requestID":"1a1d03f74e100d4ec417d2e64b325836"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c9ba8cb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/101f5143-c7c3-4240-950a-363121038778 204 91ms","method":"DELETE","requestID":"c9ba8cb0-0fec-11f0-b95a-67cf87457f46","responseTime":91,"status":204,"url":"/peerconnections/101f5143-c7c3-4240-950a-363121038778"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"},"level":"info","message":"Successfully finished experiment","requestID":"4f313004b610665b73460190f4a612ea"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9cae060-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:32Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a72c466-6068-49ba-b8c4-060177bf68ce","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.0989213} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.226154,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c9cae060-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1","object_type":"device","rebac_allow":false,"scope_allow":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":"c9cae060-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9cae060-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1/signaling 200 33ms","method":"POST","requestID":"c9cae060-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F90d3fd02-ae86-467c-960b-aa242cb96fdc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F90d3fd02-ae86-467c-960b-aa242cb96fdc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"1a8c3590-bdd3-4b02-8803-fdd7ca93903b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.1034503} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"738b1ed1-a95c-4168-ade2-72fc89eefae7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.1037917} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"4f313004b610665b73460190f4a612ea","responseTime":37,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9d05ea0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:32Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faf3e8af1-7280-477c-9a71-e37ceffb26be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d334681-59a2-4dd0-8d3b-13c3f97e0e84","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.1109457} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.113212,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c9d05ea0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be","object_type":"device","rebac_allow":false,"scope_allow":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":"c9d05ea0-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9d05ea0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/af3e8af1-7280-477c-9a71-e37ceffb26be/signaling 200 11ms","method":"POST","requestID":"c9d05ea0-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/af3e8af1-7280-477c-9a71-e37ceffb26be/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc","requestID":"4f313004b610665b73460190f4a612ea"} gateway-1 | {"time_local":"02/Apr/2025:18:03:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.278","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f313004b610665b73460190f4a612ea"} experiment-1 | {"level":"info","message":"DELETE /experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc 204 275ms","method":"DELETE","requestID":"4f313004b610665b73460190f4a612ea","responseTime":275,"status":204,"url":"/experiments/90d3fd02-ae86-467c-960b-aa242cb96fdc"} gateway-1 | {"time_local":"02/Apr/2025:18:03:32 +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.473","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"7ea242002b64d38fc84fa211589cc8a1"} gateway-1 | {"time_local":"02/Apr/2025:18:03:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.209","http_referrer":"","http_user_agent":"node-fetch","requestID":"3a8b2ae7ec6598316c81383a4763bbf4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 206ms","method":"POST","requestID":"3a8b2ae7ec6598316c81383a4763bbf4","responseTime":206,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch","requestID":"1a1d03f74e100d4ec417d2e64b325836"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 206ms","method":"POST","requestID":"1a1d03f74e100d4ec417d2e64b325836","responseTime":206,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxMn0.wSXwEhW98E6JT1AJGlQefkRaVKH9HGueD4YHFcIuJNE","level":"info","message":"auth send jwt","requestID":"1d1673dcc694af02bae0b678ed0fd187"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1d1673dcc694af02bae0b678ed0fd187","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1d1673dcc694af02bae0b678ed0fd187"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:32Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.388439,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1d1673dcc694af02bae0b678ed0fd187","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617012,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxMn0.wSXwEhW98E6JT1AJGlQefkRaVKH9HGueD4YHFcIuJNE"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f5bbc4c4-7f8e-4611-9a9d-3418b737e1b1' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"1d1673dcc694af02bae0b678ed0fd187","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:18:03:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2157","request_time":"3.115","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b08a3805cf899c4b1ba42aa81ea0fc0f"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/af3e8af1-7280-477c-9a71-e37ceffb26be' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c5f8db38-081c-4674-baff-54e1fe375a07","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.268321} authorization-1 | {"level":"info","message":"POST /relations/query 200 24ms","method":"POST","requestID":"1d1673dcc694af02bae0b678ed0fd187","responseTime":24,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83052267-90b8-4dfd-b6ff-b50a455ef57b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.297687} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1d1673dcc694af02bae0b678ed0fd187","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"c8d49e59-5125-4ab8-b333-5d87f4034219","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.309042} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d027b21f-c367-4748-addb-9a7cec34d6da","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.309265} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"1d1673dcc694af02bae0b678ed0fd187","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:32.309017609Z"}]},"request_id":"afd29da9-0db1-4b87-82bc-d7add8d74817","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.3386405} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1d1673dcc694af02bae0b678ed0fd187","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1d1673dcc694af02bae0b678ed0fd187"} gateway-1 | {"time_local":"02/Apr/2025:18:03:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d1673dcc694af02bae0b678ed0fd187"} device-1 | {"level":"info","message":"POST /devices? 201 98ms","method":"POST","requestID":"1d1673dcc694af02bae0b678ed0fd187","responseTime":98,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxMn0.wSXwEhW98E6JT1AJGlQefkRaVKH9HGueD4YHFcIuJNE","level":"info","message":"auth send jwt","requestID":"7da40dacdfe8170c2729661d77d851df"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7da40dacdfe8170c2729661d77d851df","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7da40dacdfe8170c2729661d77d851df"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:32Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.852878,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7da40dacdfe8170c2729661d77d851df","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617012,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxMn0.wSXwEhW98E6JT1AJGlQefkRaVKH9HGueD4YHFcIuJNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7da40dacdfe8170c2729661d77d851df","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"af024c30-a8c2-4bff-bcb6-23feee9f7f3f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.3923333} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7da40dacdfe8170c2729661d77d851df","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"994feb17-af2f-4dd4-a1c8-5d7e6c241abc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.3970704} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7da40dacdfe8170c2729661d77d851df","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"eb2727bb-c641-455c-8707-823f735bcb5b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.4079885} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b6bc7c6-bb65-493e-9fe7-53fa8a0eaed5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.4082518} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"7da40dacdfe8170c2729661d77d851df","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:32.407966910Z"}]},"request_id":"4e80ac2d-e776-4443-891f-a94a36d34f64","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617012.4368849} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7da40dacdfe8170c2729661d77d851df","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7da40dacdfe8170c2729661d77d851df"} gateway-1 | {"time_local":"02/Apr/2025:18:03:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7da40dacdfe8170c2729661d77d851df"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"7da40dacdfe8170c2729661d77d851df","responseTime":93,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f5a74913876a6cfde5f8dbc9647b63dd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f5a74913876a6cfde5f8dbc9647b63dd","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f895f5e3c5cce955be3992b7cd265ff9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"02/Apr/2025:18:03:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/71f307de-8c96-4e9c-9119-51077c0f2fef/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":"f5a74913876a6cfde5f8dbc9647b63dd"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f895f5e3c5cce955be3992b7cd265ff9","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/71f307de-8c96-4e9c-9119-51077c0f2fef/websocket 200 1ms","method":"OPTIONS","requestID":"f5a74913876a6cfde5f8dbc9647b63dd","responseTime":1,"status":200,"url":"/devices/71f307de-8c96-4e9c-9119-51077c0f2fef/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:03:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9a87f810-5d77-41f2-9961-513257bed2a0/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":"f895f5e3c5cce955be3992b7cd265ff9"} device-1 | {"level":"info","message":"OPTIONS /devices/9a87f810-5d77-41f2-9961-513257bed2a0/websocket 200 0ms","method":"OPTIONS","requestID":"f895f5e3c5cce955be3992b7cd265ff9","responseTime":0,"status":200,"url":"/devices/9a87f810-5d77-41f2-9961-513257bed2a0/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNH0.dg7Exq3jeimQzOyup8MIDBLqXmnwGgBlyFF8wNEklkg","level":"info","message":"auth send jwt","requestID":"78884177371ce5e2c46f3443f355dfc1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78884177371ce5e2c46f3443f355dfc1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"78884177371ce5e2c46f3443f355dfc1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNH0.dg7Exq3jeimQzOyup8MIDBLqXmnwGgBlyFF8wNEklkg","level":"info","message":"auth send jwt","requestID":"1348f8b51064b7ac9c066a7c523ed8ec"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1348f8b51064b7ac9c066a7c523ed8ec","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1348f8b51064b7ac9c066a7c523ed8ec"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.906346,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"78884177371ce5e2c46f3443f355dfc1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617014,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNH0.dg7Exq3jeimQzOyup8MIDBLqXmnwGgBlyFF8wNEklkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"78884177371ce5e2c46f3443f355dfc1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.052844,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1348f8b51064b7ac9c066a7c523ed8ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617014,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNH0.dg7Exq3jeimQzOyup8MIDBLqXmnwGgBlyFF8wNEklkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1348f8b51064b7ac9c066a7c523ed8ec","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"78884177371ce5e2c46f3443f355dfc1"} device-1 | {"level":"info","message":"POST /devices/71f307de-8c96-4e9c-9119-51077c0f2fef/websocket 200 40ms","method":"POST","requestID":"78884177371ce5e2c46f3443f355dfc1","responseTime":40,"status":200,"url":"/devices/71f307de-8c96-4e9c-9119-51077c0f2fef/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:03:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/71f307de-8c96-4e9c-9119-51077c0f2fef/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"78884177371ce5e2c46f3443f355dfc1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1348f8b51064b7ac9c066a7c523ed8ec"} gateway-1 | {"time_local":"02/Apr/2025:18:03:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9a87f810-5d77-41f2-9961-513257bed2a0/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":"1348f8b51064b7ac9c066a7c523ed8ec"} device-1 | {"level":"info","message":"POST /devices/9a87f810-5d77-41f2-9961-513257bed2a0/websocket 200 46ms","method":"POST","requestID":"1348f8b51064b7ac9c066a7c523ed8ec","responseTime":46,"status":200,"url":"/devices/9a87f810-5d77-41f2-9961-513257bed2a0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNH0.dg7Exq3jeimQzOyup8MIDBLqXmnwGgBlyFF8wNEklkg","level":"info","message":"auth send jwt","requestID":"4ff0ee4eb7f80c3dc37e17145207cb75"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4ff0ee4eb7f80c3dc37e17145207cb75","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4ff0ee4eb7f80c3dc37e17145207cb75"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.874714,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4ff0ee4eb7f80c3dc37e17145207cb75","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617014,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNH0.dg7Exq3jeimQzOyup8MIDBLqXmnwGgBlyFF8wNEklkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4ff0ee4eb7f80c3dc37e17145207cb75","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:32.309017609Z"}]},"request_id":"599b88a4-d739-4f2f-8a8c-7ad0bdf06d5d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617014.9932678} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4ff0ee4eb7f80c3dc37e17145207cb75","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4ff0ee4eb7f80c3dc37e17145207cb75"} gateway-1 | {"time_local":"02/Apr/2025:18:03:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/71f307de-8c96-4e9c-9119-51077c0f2fef? 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":"4ff0ee4eb7f80c3dc37e17145207cb75"} device-1 | {"level":"info","message":"GET /devices/71f307de-8c96-4e9c-9119-51077c0f2fef? 200 10ms","method":"GET","requestID":"4ff0ee4eb7f80c3dc37e17145207cb75","responseTime":10,"status":200,"url":"/devices/71f307de-8c96-4e9c-9119-51077c0f2fef?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNX0.v-_mE8AVoyeuKP7ldYB6Uqob52kV1KRiqhmlX6v6E68","level":"info","message":"auth send jwt","requestID":"afdf82ef8d77a9dffda6c1b5ef548673"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"afdf82ef8d77a9dffda6c1b5ef548673","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"afdf82ef8d77a9dffda6c1b5ef548673"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676636,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"afdf82ef8d77a9dffda6c1b5ef548673","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617015,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNX0.v-_mE8AVoyeuKP7ldYB6Uqob52kV1KRiqhmlX6v6E68"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"afdf82ef8d77a9dffda6c1b5ef548673","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:32.407966910Z"}]},"request_id":"878f68b0-2f9a-4e6d-b1af-fb31842c6ad6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.0319867} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"afdf82ef8d77a9dffda6c1b5ef548673","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"afdf82ef8d77a9dffda6c1b5ef548673"} device-1 | {"level":"info","message":"GET /devices/9a87f810-5d77-41f2-9961-513257bed2a0? 200 10ms","method":"GET","requestID":"afdf82ef8d77a9dffda6c1b5ef548673","responseTime":10,"status":200,"url":"/devices/9a87f810-5d77-41f2-9961-513257bed2a0?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9a87f810-5d77-41f2-9961-513257bed2a0? 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":"afdf82ef8d77a9dffda6c1b5ef548673"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNX0.v-_mE8AVoyeuKP7ldYB6Uqob52kV1KRiqhmlX6v6E68","level":"info","message":"auth send jwt","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"557388f1c619d160c3ebf86d8d7f1c07","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.663958,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"557388f1c619d160c3ebf86d8d7f1c07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617015,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNX0.v-_mE8AVoyeuKP7ldYB6Uqob52kV1KRiqhmlX6v6E68"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"557388f1c619d160c3ebf86d8d7f1c07","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Attempting to run experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Attempting to book experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Successfully booked experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cb9ce140-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cb9d0850-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6184,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cb9ce140-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617015,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNX0.v-_mE8AVoyeuKP7ldYB6Uqob52kV1KRiqhmlX6v6E68"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cb9ce140-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.538853,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cb9d0850-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617015,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNX0.v-_mE8AVoyeuKP7ldYB6Uqob52kV1KRiqhmlX6v6E68"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cb9d0850-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:32.309017609Z"}]},"request_id":"ced90961-f248-4744-b12b-bb89a2a5ab1d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.1314325} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"cb9ce140-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:32.407966910Z"}]},"request_id":"48cf40c4-a120-4cb5-b1c4-d3856c55bb7e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.1347408} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cb9d0850-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cb9ce140-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/71f307de-8c96-4e9c-9119-51077c0f2fef? 200 15ms","method":"GET","requestID":"cb9ce140-0fec-11f0-b95a-67cf87457f46","responseTime":15,"status":200,"url":"/devices/71f307de-8c96-4e9c-9119-51077c0f2fef?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cb9d0850-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/9a87f810-5d77-41f2-9961-513257bed2a0? 200 14ms","method":"GET","requestID":"cb9d0850-0fec-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/9a87f810-5d77-41f2-9961-513257bed2a0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Setting up experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Successfully set up experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cbabae50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cbabfc70-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Successfully running experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cbac2380-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.166979,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cbabae50-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617015,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNX0.v-_mE8AVoyeuKP7ldYB6Uqob52kV1KRiqhmlX6v6E68"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cbabae50-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.60707,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cbabfc70-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617015,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNX0.v-_mE8AVoyeuKP7ldYB6Uqob52kV1KRiqhmlX6v6E68"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"cbabfc70-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d27d099-d03c-4ed2-b6ab-3bb3224978da","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.2334912} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.552299,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cbac2380-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","object_type":"device","rebac_allow":false,"scope_allow":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":"cbac2380-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:32.309017609Z"}]},"request_id":"c91b2977-2d31-467b-af3e-2577f3086244","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.2348192} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cbabae50-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:32.407966910Z"}]},"request_id":"f91cd08d-85e8-45e7-bf9d-e44799a3e094","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.2399044} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"cbabfc70-0fec-11f0-b95a-67cf87457f46","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cbac2380-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/71f307de-8c96-4e9c-9119-51077c0f2fef/signaling 200 48ms","method":"POST","requestID":"cbac2380-0fec-11f0-b95a-67cf87457f46","responseTime":48,"status":200,"url":"/devices/71f307de-8c96-4e9c-9119-51077c0f2fef/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cbabae50-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9999186b-b839-4f43-b2f7-729664ca6c9c#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9999186b-b839-4f43-b2f7-729664ca6c9c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"60aaf6b5-186c-4b97-ac95-fd3e0f1a06e4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.2709582} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd58d543-03cd-4e93-b163-56ba5cec8c30","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.2712622} device-1 | {"level":"info","message":"GET /devices/71f307de-8c96-4e9c-9119-51077c0f2fef? 200 52ms","method":"GET","requestID":"cbabae50-0fec-11f0-b95a-67cf87457f46","responseTime":52,"status":200,"url":"/devices/71f307de-8c96-4e9c-9119-51077c0f2fef?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"557388f1c619d160c3ebf86d8d7f1c07","responseTime":47,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cbabfc70-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/9a87f810-5d77-41f2-9961-513257bed2a0? 200 52ms","method":"GET","requestID":"cbabfc70-0fec-11f0-b95a-67cf87457f46","responseTime":52,"status":200,"url":"/devices/9a87f810-5d77-41f2-9961-513257bed2a0?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cbb412c0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"adedd189-5031-4490-b7d1-4911373c8023","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.2814457} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cbb4fd20-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.104121,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cbb412c0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","object_type":"device","rebac_allow":false,"scope_allow":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":"cbb412c0-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 248ms","method":"POST","requestID":"557388f1c619d160c3ebf86d8d7f1c07","responseTime":248,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cbb412c0-0fec-11f0-b95a-67cf87457f46"} gateway-1 | {"time_local":"02/Apr/2025:18:03:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.276","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5089d6a-b358-462f-b246-4d67ddafb663","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.313428} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.154641,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} device-1 | {"level":"info","message":"POST /devices/9a87f810-5d77-41f2-9961-513257bed2a0/signaling 200 39ms","method":"POST","requestID":"cbb412c0-0fec-11f0-b95a-67cf87457f46","responseTime":39,"status":200,"url":"/devices/9a87f810-5d77-41f2-9961-513257bed2a0/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cbb4fd20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","object_type":"device","rebac_allow":false,"scope_allow":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":"cbb4fd20-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cbb4fd20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/71f307de-8c96-4e9c-9119-51077c0f2fef/signaling 200 38ms","method":"POST","requestID":"cbb4fd20-0fec-11f0-b95a-67cf87457f46","responseTime":38,"status":200,"url":"/devices/71f307de-8c96-4e9c-9119-51077c0f2fef/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNX0.v-_mE8AVoyeuKP7ldYB6Uqob52kV1KRiqhmlX6v6E68","level":"info","message":"auth send jwt","requestID":"7f02329e0bd818931e0cc45299b2b6b7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7f02329e0bd818931e0cc45299b2b6b7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7f02329e0bd818931e0cc45299b2b6b7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cbbb65c0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.035415,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7f02329e0bd818931e0cc45299b2b6b7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617015,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNX0.v-_mE8AVoyeuKP7ldYB6Uqob52kV1KRiqhmlX6v6E68"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7f02329e0bd818931e0cc45299b2b6b7","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c367faf6-e0e5-43ae-92c7-3fe68c16fdbb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.3300867} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.532482,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cbbb65c0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","object_type":"device","rebac_allow":false,"scope_allow":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":"cbbb65c0-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:32.309017609Z"}]},"request_id":"cd604efa-82af-48a4-ae11-11f651599bc2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.3357742} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cbbb65c0-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Building connection plan","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"52a4cdd9-136d-4677-aad4-89e909325b9a"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"53fd615e-ad9b-418b-88bf-bf3cec521aa3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"938a6462-d3b5-4c19-9f91-cf55e08051c9"}]},"level":"info","message":"Built pairwise service configurations","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} 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/9a87f810-5d77-41f2-9961-513257bed2a0"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} device-1 | {"level":"info","message":"POST /devices/9a87f810-5d77-41f2-9961-513257bed2a0/signaling 200 39ms","method":"POST","requestID":"cbbb65c0-0fec-11f0-b95a-67cf87457f46","responseTime":39,"status":200,"url":"/devices/9a87f810-5d77-41f2-9961-513257bed2a0/signaling"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"cbc18040-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"7f02329e0bd818931e0cc45299b2b6b7","responseTime":32,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7f02329e0bd818931e0cc45299b2b6b7"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.268553,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} gateway-1 | {"time_local":"02/Apr/2025:18:03:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/71f307de-8c96-4e9c-9119-51077c0f2fef? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f02329e0bd818931e0cc45299b2b6b7"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cbc18040-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617015,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNX0.v-_mE8AVoyeuKP7ldYB6Uqob52kV1KRiqhmlX6v6E68"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cbc18040-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/71f307de-8c96-4e9c-9119-51077c0f2fef? 200 49ms","method":"GET","requestID":"7f02329e0bd818931e0cc45299b2b6b7","responseTime":49,"status":200,"url":"/devices/71f307de-8c96-4e9c-9119-51077c0f2fef?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNX0.v-_mE8AVoyeuKP7ldYB6Uqob52kV1KRiqhmlX6v6E68","level":"info","message":"auth send jwt","requestID":"a305a7edc9edb66f19f8cf0399e06a27"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a305a7edc9edb66f19f8cf0399e06a27","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a305a7edc9edb66f19f8cf0399e06a27"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859746,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"a305a7edc9edb66f19f8cf0399e06a27","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617015,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNX0.v-_mE8AVoyeuKP7ldYB6Uqob52kV1KRiqhmlX6v6E68"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a305a7edc9edb66f19f8cf0399e06a27","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"26fe1e8c-e2e3-45c8-91bd-91f550d17dba","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.384226} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78a1d41f-75d9-41d7-860c-b3fb0129d09f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.3843718} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"cbc18040-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:32.407966910Z"}]},"request_id":"2e21d8d2-4e8f-49fd-b048-7807a0231fcf","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.410105} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"a305a7edc9edb66f19f8cf0399e06a27","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a305a7edc9edb66f19f8cf0399e06a27"} gateway-1 | {"time_local":"02/Apr/2025:18:03:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9a87f810-5d77-41f2-9961-513257bed2a0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a305a7edc9edb66f19f8cf0399e06a27"} device-1 | {"level":"info","message":"GET /devices/9a87f810-5d77-41f2-9961-513257bed2a0? 200 42ms","method":"GET","requestID":"a305a7edc9edb66f19f8cf0399e06a27","responseTime":42,"status":200,"url":"/devices/9a87f810-5d77-41f2-9961-513257bed2a0?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"cbc18040-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"cbc18040-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8'","requestID":"cbc18040-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8'","requestID":"cbc18040-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"cbc18040-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 66ms","method":"POST","requestID":"cbc18040-0fec-11f0-b95a-67cf87457f46","responseTime":66,"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":"cbc18040-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8","device":"9a87f810-5d77-41f2-9961-513257bed2a0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8","device":"71f307de-8c96-4e9c-9119-51077c0f2fef","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/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"557388f1c619d160c3ebf86d8d7f1c07"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cbd7a050-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d2a70d2-b482-45fc-a345-9d54809bfb6f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.5141912} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.851667,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cbd7a050-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cbd7a050-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cbd7a050-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/71f307de-8c96-4e9c-9119-51077c0f2fef/signaling 200 10ms","method":"POST","requestID":"cbd7a050-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/71f307de-8c96-4e9c-9119-51077c0f2fef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cbd97510-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f35cc8a5-798b-4346-94c4-f3a3b4f87255","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.5265608} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.77116,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cbd97510-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","object_type":"device","rebac_allow":false,"scope_allow":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":"cbd97510-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cbd97510-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/9a87f810-5d77-41f2-9961-513257bed2a0/signaling 200 35ms","method":"POST","requestID":"cbd97510-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/9a87f810-5d77-41f2-9961-513257bed2a0/signaling"} device-1 | {"device":"71f307de-8c96-4e9c-9119-51077c0f2fef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"71f307de-8c96-4e9c-9119-51077c0f2fef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"9a87f810-5d77-41f2-9961-513257bed2a0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9a87f810-5d77-41f2-9961-513257bed2a0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4395474373733269740 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:bq92\r\na=ice-pwd:9cdDdC/rSDMRcG0yk55Vo3xF\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2B:82:A4:4B:CF:2A:CB:DD:6C:57:2F:7E:8F:AC:50:62:3F:A4:CA:96:6E:60:A4:4A:21:70:68:9B:D5:10:AF:1C\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"71f307de-8c96-4e9c-9119-51077c0f2fef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 5925618358613950184 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:MwUE\r\na=ice-pwd:muqQzmrf5c8EUDvk6+WHN9QT\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E6:09:BC:9D:1A:85:68:89:C0:41:D8:F1:F9:F4:AD:91:40:06:D1:8F:6F:8A:39:34:5A:74:1D:77:17:DF:17:15\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"9a87f810-5d77-41f2-9961-513257bed2a0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:845336472 1 udp 2113937151 f3eee168-6f70-4f7c-8c5b-a976607c25f6.local 52723 typ host generation 0 ufrag MwUE network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9a87f810-5d77-41f2-9961-513257bed2a0","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/9a87f810-5d77-41f2-9961-513257bed2a0'"} device-1 | {"content":{"candidate":"candidate:3185319260 1 udp 2113937151 60a33c9b-5b95-4bab-8af8-74cd6ec34d8e.local 47925 typ host generation 0 ufrag bq92 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"71f307de-8c96-4e9c-9119-51077c0f2fef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"71f307de-8c96-4e9c-9119-51077c0f2fef","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/72801719-c8b2-4c96-9739-d45fbd5f36c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"72801719-c8b2-4c96-9739-d45fbd5f36c8","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9a87f810-5d77-41f2-9961-513257bed2a0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"71f307de-8c96-4e9c-9119-51077c0f2fef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6635a985a832a6ac697473f98d54e77e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6635a985a832a6ac697473f98d54e77e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8"}}},"level":"info","message":"received a callback","requestID":"6635a985a832a6ac697473f98d54e77e"} device-1 | {"device":"9a87f810-5d77-41f2-9961-513257bed2a0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"71f307de-8c96-4e9c-9119-51077c0f2fef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"9a87f810-5d77-41f2-9961-513257bed2a0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"6635a985a832a6ac697473f98d54e77e","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"6635a985a832a6ac697473f98d54e77e"} device-1 | {"data":{"peerconnection":"72801719-c8b2-4c96-9739-d45fbd5f36c8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9a87f810-5d77-41f2-9961-513257bed2a0","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"72801719-c8b2-4c96-9739-d45fbd5f36c8","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/72801719-c8b2-4c96-9739-d45fbd5f36c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"72801719-c8b2-4c96-9739-d45fbd5f36c8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"51cb7a2ed60b87e59cfa843147480e55","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"51cb7a2ed60b87e59cfa843147480e55","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/9a87f810-5d77-41f2-9961-513257bed2a0"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8"}}},"level":"info","message":"received a callback","requestID":"51cb7a2ed60b87e59cfa843147480e55"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"cbfd77d0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F72801719-c8b2-4c96-9739-d45fbd5f36c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6bb82fe7-50ea-4ce8-bb77-513ce1111d98","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.7676153} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":7.104892,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cbfd77d0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8","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 35ms","method":"POST","requestID":"cbfd77d0-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"cbfd77d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8 200 43ms","method":"GET","requestID":"cbfd77d0-0fec-11f0-b95a-67cf87457f46","responseTime":43,"status":200,"url":"/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8"} gateway-1 | {"time_local":"02/Apr/2025:18:03:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.103","http_referrer":"","http_user_agent":"node-fetch","requestID":"51cb7a2ed60b87e59cfa843147480e55"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"51cb7a2ed60b87e59cfa843147480e55","responseTime":100,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc0bcfb0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01734e04-fefd-4e61-b07d-4764d9390ec5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.8568347} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.387629,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cc0bcfb0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","object_type":"device","rebac_allow":false,"scope_allow":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":"cc0bcfb0-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc0bcfb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/9a87f810-5d77-41f2-9961-513257bed2a0/signaling 200 15ms","method":"POST","requestID":"cc0bcfb0-0fec-11f0-b95a-67cf87457f46","responseTime":15,"status":200,"url":"/devices/9a87f810-5d77-41f2-9961-513257bed2a0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc0e19a0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e58b768-f3b4-44c5-bb34-8f9d080c0fd1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617015.8973227} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.097675,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cc0e19a0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","object_type":"device","rebac_allow":false,"scope_allow":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":"cc0e19a0-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc0e19a0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/71f307de-8c96-4e9c-9119-51077c0f2fef/signaling 200 39ms","method":"POST","requestID":"cc0e19a0-0fec-11f0-b95a-67cf87457f46","responseTime":39,"status":200,"url":"/devices/71f307de-8c96-4e9c-9119-51077c0f2fef/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNn0.p9aEs1gi5ok7Eh3ncHzv9n3Yq1-wP99clNWCB3xFodU","level":"info","message":"auth send jwt","requestID":"506db7324f27538e6c9cc42fe2d8ebd6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"506db7324f27538e6c9cc42fe2d8ebd6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9999186b-b839-4f43-b2f7-729664ca6c9c","requestID":"506db7324f27538e6c9cc42fe2d8ebd6"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.726779,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"506db7324f27538e6c9cc42fe2d8ebd6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617016,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNn0.p9aEs1gi5ok7Eh3ncHzv9n3Yq1-wP99clNWCB3xFodU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"506db7324f27538e6c9cc42fe2d8ebd6","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9999186b-b839-4f43-b2f7-729664ca6c9c","requestID":"506db7324f27538e6c9cc42fe2d8ebd6"} gateway-1 | {"time_local":"02/Apr/2025:18:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9999186b-b839-4f43-b2f7-729664ca6c9c HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"506db7324f27538e6c9cc42fe2d8ebd6"} experiment-1 | {"level":"info","message":"GET /experiments/9999186b-b839-4f43-b2f7-729664ca6c9c 200 12ms","method":"GET","requestID":"506db7324f27538e6c9cc42fe2d8ebd6","responseTime":12,"status":200,"url":"/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNn0.p9aEs1gi5ok7Eh3ncHzv9n3Yq1-wP99clNWCB3xFodU","level":"info","message":"auth send jwt","requestID":"f60f35bb76686dd3f1d76126b13f100f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f60f35bb76686dd3f1d76126b13f100f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/9999186b-b839-4f43-b2f7-729664ca6c9c","requestID":"f60f35bb76686dd3f1d76126b13f100f"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.734061,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f60f35bb76686dd3f1d76126b13f100f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617016,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNn0.p9aEs1gi5ok7Eh3ncHzv9n3Yq1-wP99clNWCB3xFodU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f60f35bb76686dd3f1d76126b13f100f","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Attempting to finish experiment","requestID":"f60f35bb76686dd3f1d76126b13f100f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"cc468ec0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.789769,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cc468ec0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617016,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNn0.p9aEs1gi5ok7Eh3ncHzv9n3Yq1-wP99clNWCB3xFodU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc468ec0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8","device":"9a87f810-5d77-41f2-9961-513257bed2a0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8","device":"71f307de-8c96-4e9c-9119-51077c0f2fef","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/72801719-c8b2-4c96-9739-d45fbd5f36c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"72801719-c8b2-4c96-9739-d45fbd5f36c8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F72801719-c8b2-4c96-9739-d45fbd5f36c8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F72801719-c8b2-4c96-9739-d45fbd5f36c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"b8427a84-680c-45d2-9b29-edf3aacfa803","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.2799385} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6b8d6ad4744d0096324488ca37814c63","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6b8d6ad4744d0096324488ca37814c63","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f2d52d7-86d7-4579-bfa9-4b431008b74a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.2802258} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"67ba2720a5b87de3d6c5d9a335fc1e0c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"67ba2720a5b87de3d6c5d9a335fc1e0c","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"cc468ec0-0fec-11f0-b95a-67cf87457f46","responseTime":34,"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/9a87f810-5d77-41f2-9961-513257bed2a0"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8"}}},"level":"info","message":"received a callback","requestID":"6b8d6ad4744d0096324488ca37814c63"} 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/9a87f810-5d77-41f2-9961-513257bed2a0"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8"}}},"level":"info","message":"received a callback","requestID":"67ba2720a5b87de3d6c5d9a335fc1e0c"} device-1 | {"data":{"peerconnection":"72801719-c8b2-4c96-9739-d45fbd5f36c8","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"cc468ec0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8 204 91ms","method":"DELETE","requestID":"cc468ec0-0fec-11f0-b95a-67cf87457f46","responseTime":91,"status":204,"url":"/peerconnections/72801719-c8b2-4c96-9739-d45fbd5f36c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"},"level":"info","message":"Successfully finished experiment","requestID":"f60f35bb76686dd3f1d76126b13f100f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc5b7650-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:36Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a87f810-5d77-41f2-9961-513257bed2a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bbba7c62-65a3-4d9d-bc0d-b1a228e71e62","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.3793006} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.286443,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cc5b7650-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cc5b7650-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc5b7650-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/9a87f810-5d77-41f2-9961-513257bed2a0/signaling 200 12ms","method":"POST","requestID":"cc5b7650-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/9a87f810-5d77-41f2-9961-513257bed2a0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc5dc040-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9999186b-b839-4f43-b2f7-729664ca6c9c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9999186b-b839-4f43-b2f7-729664ca6c9c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"37ae9482-f25e-4e56-b37e-f517970298fd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.3925374} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4107702b-6784-4215-b7d8-de090d59395d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.4170516} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:36Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"f60f35bb76686dd3f1d76126b13f100f","responseTime":47,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71f307de-8c96-4e9c-9119-51077c0f2fef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb5369d9-0212-4399-8e6f-6e23fe870f06","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.4200623} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.33299,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cc5dc040-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef","object_type":"device","rebac_allow":false,"scope_allow":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":"cc5dc040-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc5dc040-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/71f307de-8c96-4e9c-9119-51077c0f2fef/signaling 200 38ms","method":"POST","requestID":"cc5dc040-0fec-11f0-b95a-67cf87457f46","responseTime":38,"status":200,"url":"/devices/71f307de-8c96-4e9c-9119-51077c0f2fef/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/9999186b-b839-4f43-b2f7-729664ca6c9c","requestID":"f60f35bb76686dd3f1d76126b13f100f"} gateway-1 | {"time_local":"02/Apr/2025:18:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/9999186b-b839-4f43-b2f7-729664ca6c9c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.339","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f60f35bb76686dd3f1d76126b13f100f"} experiment-1 | {"level":"info","message":"DELETE /experiments/9999186b-b839-4f43-b2f7-729664ca6c9c 204 310ms","method":"DELETE","requestID":"f60f35bb76686dd3f1d76126b13f100f","responseTime":310,"status":204,"url":"/experiments/9999186b-b839-4f43-b2f7-729664ca6c9c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 279ms","method":"POST","requestID":"6b8d6ad4744d0096324488ca37814c63","responseTime":279,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.285","http_referrer":"","http_user_agent":"node-fetch","requestID":"6b8d6ad4744d0096324488ca37814c63"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 279ms","method":"POST","requestID":"67ba2720a5b87de3d6c5d9a335fc1e0c","responseTime":279,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.285","http_referrer":"","http_user_agent":"node-fetch","requestID":"67ba2720a5b87de3d6c5d9a335fc1e0c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNn0.p9aEs1gi5ok7Eh3ncHzv9n3Yq1-wP99clNWCB3xFodU","level":"info","message":"auth send jwt","requestID":"3b97557f3d3766afeeb35c05887c4f3d"} device-1 | {"level":"info","message":"postDevices called","requestID":"3b97557f3d3766afeeb35c05887c4f3d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b97557f3d3766afeeb35c05887c4f3d","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:36Z"} gateway-1 | {"time_local":"02/Apr/2025:18:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2323","request_time":"1.624","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c68f1b41ec4ac1af478bc45f10f83ac7"} gateway-1 | {"time_local":"02/Apr/2025:18:03:36 +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.636","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"beec0535b3513b79386ff5a7368a3e75"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9a87f810-5d77-41f2-9961-513257bed2a0' closed"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.838328,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"3b97557f3d3766afeeb35c05887c4f3d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617016,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNn0.p9aEs1gi5ok7Eh3ncHzv9n3Yq1-wP99clNWCB3xFodU"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","method":"POST","requestID":"3b97557f3d3766afeeb35c05887c4f3d","responseTime":47,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/71f307de-8c96-4e9c-9119-51077c0f2fef' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"76edcb71-8dad-49bb-b83a-693080249e57","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.6260736} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3b97557f3d3766afeeb35c05887c4f3d","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41bbc2ec-e73a-4c0e-a316-4bf2c304eec3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.6309373} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"3b97557f3d3766afeeb35c05887c4f3d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"23d92d6c-3bb2-4ea4-b48d-520f3b08cd5a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.664801} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8c4d522-1459-49a2-99d8-efa37fbe7a51","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.6649837} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"3b97557f3d3766afeeb35c05887c4f3d","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:36.664783043Z"}]},"request_id":"305cd343-d346-41ce-8250-3a6616f571e6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.6698112} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3b97557f3d3766afeeb35c05887c4f3d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3b97557f3d3766afeeb35c05887c4f3d"} gateway-1 | {"time_local":"02/Apr/2025:18:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.111","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3b97557f3d3766afeeb35c05887c4f3d"} device-1 | {"level":"info","message":"POST /devices? 201 106ms","method":"POST","requestID":"3b97557f3d3766afeeb35c05887c4f3d","responseTime":106,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNn0.p9aEs1gi5ok7Eh3ncHzv9n3Yq1-wP99clNWCB3xFodU","level":"info","message":"auth send jwt","requestID":"dd8b2f4673482c79c010c7a1ac9de4d7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dd8b2f4673482c79c010c7a1ac9de4d7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"dd8b2f4673482c79c010c7a1ac9de4d7"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.734872,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dd8b2f4673482c79c010c7a1ac9de4d7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617016,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxNn0.p9aEs1gi5ok7Eh3ncHzv9n3Yq1-wP99clNWCB3xFodU"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"dd8b2f4673482c79c010c7a1ac9de4d7","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"93842498-6c34-46b0-814b-08178d23f406","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.7197773} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dd8b2f4673482c79c010c7a1ac9de4d7","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1950f48-8361-467c-af18-54eda4486306","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.7253463} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"dd8b2f4673482c79c010c7a1ac9de4d7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"f9d11e3b-9e42-417f-878f-2fa2f69701fe","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.7610538} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e17e54f0-daed-429d-9ad8-eab35a7e6475","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.7613688} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"dd8b2f4673482c79c010c7a1ac9de4d7","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:36.761028776Z"}]},"request_id":"0a97a1c8-7497-44e8-a91f-e601e7c75b0e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617016.7656} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dd8b2f4673482c79c010c7a1ac9de4d7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"dd8b2f4673482c79c010c7a1ac9de4d7"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"dd8b2f4673482c79c010c7a1ac9de4d7","responseTime":90,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd8b2f4673482c79c010c7a1ac9de4d7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxN30.jzVkwtvMlq_a9WA7ZFcBIlJk-EztnpgSLUntY04t104","level":"info","message":"auth send jwt","requestID":"ca1333836e0a9ec025ada8dc45d17ccf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ca1333836e0a9ec025ada8dc45d17ccf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ca1333836e0a9ec025ada8dc45d17ccf"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:37Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.777923,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ca1333836e0a9ec025ada8dc45d17ccf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617017,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxN30.jzVkwtvMlq_a9WA7ZFcBIlJk-EztnpgSLUntY04t104"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ca1333836e0a9ec025ada8dc45d17ccf","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:36.761028776Z"}]},"request_id":"e96d1041-24f7-4685-8696-cdb829856540","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617017.879476} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ca1333836e0a9ec025ada8dc45d17ccf","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12bd8b01-cfb9-49de-bf3c-db6c44409c0b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617017.90811} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ca1333836e0a9ec025ada8dc45d17ccf","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:36.761028776Z"}]},"request_id":"00cea6cf-9f05-47d1-af48-63e09145709e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617017.9612446} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ca1333836e0a9ec025ada8dc45d17ccf","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ca1333836e0a9ec025ada8dc45d17ccf"} device-1 | {"level":"info","message":"PATCH /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482 200 92ms","method":"PATCH","requestID":"ca1333836e0a9ec025ada8dc45d17ccf","responseTime":92,"status":200,"url":"/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482"} gateway-1 | {"time_local":"02/Apr/2025:18:03:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.097","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"ca1333836e0a9ec025ada8dc45d17ccf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxN30.jzVkwtvMlq_a9WA7ZFcBIlJk-EztnpgSLUntY04t104","level":"info","message":"auth send jwt","requestID":"dff956add89aba8544ae39113e91afff"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dff956add89aba8544ae39113e91afff","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"dff956add89aba8544ae39113e91afff"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:37Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707841,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dff956add89aba8544ae39113e91afff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617017,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxN30.jzVkwtvMlq_a9WA7ZFcBIlJk-EztnpgSLUntY04t104"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dff956add89aba8544ae39113e91afff","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"dff956add89aba8544ae39113e91afff"} gateway-1 | {"time_local":"02/Apr/2025:18:03:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"dff956add89aba8544ae39113e91afff"} device-1 | {"level":"info","message":"POST /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482/websocket 200 41ms","method":"POST","requestID":"dff956add89aba8544ae39113e91afff","responseTime":41,"status":200,"url":"/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5baade8fff4751086212d9c63c3ee7c8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5baade8fff4751086212d9c63c3ee7c8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4de7507f-0f04-488f-9427-af804b9c8e1d/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":"5baade8fff4751086212d9c63c3ee7c8"} device-1 | {"level":"info","message":"OPTIONS /devices/4de7507f-0f04-488f-9427-af804b9c8e1d/websocket 200 1ms","method":"OPTIONS","requestID":"5baade8fff4751086212d9c63c3ee7c8","responseTime":1,"status":200,"url":"/devices/4de7507f-0f04-488f-9427-af804b9c8e1d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc","level":"info","message":"auth send jwt","requestID":"1944fc3eb99b7c710c260e14257fb419"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1944fc3eb99b7c710c260e14257fb419","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1944fc3eb99b7c710c260e14257fb419"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.801222,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1944fc3eb99b7c710c260e14257fb419","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617019,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1944fc3eb99b7c710c260e14257fb419","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1944fc3eb99b7c710c260e14257fb419"} device-1 | {"level":"info","message":"POST /devices/4de7507f-0f04-488f-9427-af804b9c8e1d/websocket 200 44ms","method":"POST","requestID":"1944fc3eb99b7c710c260e14257fb419","responseTime":44,"status":200,"url":"/devices/4de7507f-0f04-488f-9427-af804b9c8e1d/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4de7507f-0f04-488f-9427-af804b9c8e1d/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":"1944fc3eb99b7c710c260e14257fb419"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc","level":"info","message":"auth send jwt","requestID":"6325f743bd65efebd5f5a0f3c0f3e65d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6325f743bd65efebd5f5a0f3c0f3e65d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6325f743bd65efebd5f5a0f3c0f3e65d"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.39308,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"6325f743bd65efebd5f5a0f3c0f3e65d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617019,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6325f743bd65efebd5f5a0f3c0f3e65d","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:36.664783043Z"}]},"request_id":"b2aa4bd9-8e37-4f31-b5a7-e3cd1f24befe","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.3575475} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6325f743bd65efebd5f5a0f3c0f3e65d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6325f743bd65efebd5f5a0f3c0f3e65d"} gateway-1 | {"time_local":"02/Apr/2025:18:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4de7507f-0f04-488f-9427-af804b9c8e1d? 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":"6325f743bd65efebd5f5a0f3c0f3e65d"} device-1 | {"level":"info","message":"GET /devices/4de7507f-0f04-488f-9427-af804b9c8e1d? 200 12ms","method":"GET","requestID":"6325f743bd65efebd5f5a0f3c0f3e65d","responseTime":12,"status":200,"url":"/devices/4de7507f-0f04-488f-9427-af804b9c8e1d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc","level":"info","message":"auth send jwt","requestID":"26dad11bf1b4585bc0348a9ed9122647"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"26dad11bf1b4585bc0348a9ed9122647","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"26dad11bf1b4585bc0348a9ed9122647"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.886867,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"26dad11bf1b4585bc0348a9ed9122647","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617019,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"26dad11bf1b4585bc0348a9ed9122647","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:36.761028776Z"}]},"request_id":"93fbf4ad-a2c5-46d3-a986-0754ef76f65e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.3971086} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"26dad11bf1b4585bc0348a9ed9122647","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"26dad11bf1b4585bc0348a9ed9122647"} gateway-1 | {"time_local":"02/Apr/2025:18:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482? 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":"26dad11bf1b4585bc0348a9ed9122647"} device-1 | {"level":"info","message":"GET /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482? 200 35ms","method":"GET","requestID":"26dad11bf1b4585bc0348a9ed9122647","responseTime":35,"status":200,"url":"/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc","level":"info","message":"auth send jwt","requestID":"367cd60ee8fa6070547623c03e885aa0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"367cd60ee8fa6070547623c03e885aa0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"367cd60ee8fa6070547623c03e885aa0"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.685625,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"367cd60ee8fa6070547623c03e885aa0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617019,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"367cd60ee8fa6070547623c03e885aa0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Attempting to run experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Attempting to book experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Successfully booked experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce323220-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce325930-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.711454,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ce323220-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617019,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ce323220-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920874,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ce325930-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617019,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ce325930-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:36.664783043Z"}]},"request_id":"5b89465b-fd30-409d-8965-63ebc66cef80","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.494757} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ce323220-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:36.761028776Z"}]},"request_id":"48588d52-b38a-443a-96df-09e7389925ce","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.4955032} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ce325930-0fec-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce323220-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/4de7507f-0f04-488f-9427-af804b9c8e1d? 200 41ms","method":"GET","requestID":"ce323220-0fec-11f0-b95a-67cf87457f46","responseTime":41,"status":200,"url":"/devices/4de7507f-0f04-488f-9427-af804b9c8e1d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce325930-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482? 200 41ms","method":"GET","requestID":"ce325930-0fec-11f0-b95a-67cf87457f46","responseTime":41,"status":200,"url":"/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Setting up experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Successfully locked booking for experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Attempting to update booking for experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Successfully updated booking for experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Successfully set up experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce456c00-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce45ba20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce45e130-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Successfully running experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:46020","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.930069,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ce456c00-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617019,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ce456c00-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707273,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ce45ba20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617019,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ce45ba20-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:36.664783043Z"}]},"request_id":"b5218a04-b99f-4a78-a3c1-3eb668168cdf","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.5979414} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ce456c00-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:36.761028776Z"}]},"request_id":"f4db871f-ec3b-47a8-a3d7-1d37ae86b0d1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.5985463} authorization-1 | {"client_addr":"127.0.0.1:42908","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ce45ba20-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db4070d4-a3f3-49ee-8ab0-80a4a7810744","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.6007402} authorization-1 | {"client_addr":"127.0.0.1:42908","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.136595,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce456c00-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ce45e130-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"ce45e130-0fec-11f0-b95a-67cf87457f46","responseTime":15,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/4de7507f-0f04-488f-9427-af804b9c8e1d? 200 20ms","method":"GET","requestID":"ce456c00-0fec-11f0-b95a-67cf87457f46","responseTime":20,"status":200,"url":"/devices/4de7507f-0f04-488f-9427-af804b9c8e1d?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"d6db93c2-00cd-4afc-8e4a-6f69ba18f767","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.6025338} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce45ba20-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17cc9807-51ce-4910-b3dc-9bf96ad10356","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.6028075} device-1 | {"level":"info","message":"GET /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482? 200 18ms","method":"GET","requestID":"ce45ba20-0fec-11f0-b95a-67cf87457f46","responseTime":18,"status":200,"url":"/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"367cd60ee8fa6070547623c03e885aa0","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce48ee70-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce45e130-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/4de7507f-0f04-488f-9427-af804b9c8e1d/signaling 200 46ms","method":"POST","requestID":"ce45e130-0fec-11f0-b95a-67cf87457f46","responseTime":46,"status":200,"url":"/devices/4de7507f-0f04-488f-9427-af804b9c8e1d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42908","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"746a55cb-6c80-4dc6-b329-ac3a18138b88","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.6356683} authorization-1 | {"client_addr":"127.0.0.1:42908","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.927718,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ce48ee70-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","object_type":"device","rebac_allow":false,"scope_allow":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":"ce48ee70-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce4da960-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"367cd60ee8fa6070547623c03e885aa0"} gateway-1 | {"time_local":"02/Apr/2025:18:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"367cd60ee8fa6070547623c03e885aa0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 234ms","method":"POST","requestID":"367cd60ee8fa6070547623c03e885aa0","responseTime":234,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:42908","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc","level":"info","message":"auth send jwt","requestID":"8e3ea11f5d8d74f970141efcb8213fab"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce48ee70-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ccd46617-1fb4-46b7-8e6a-f88e26df9948","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.6432407} device-1 | {"level":"info","message":"POST /devices/4de7507f-0f04-488f-9427-af804b9c8e1d/signaling 200 38ms","method":"POST","requestID":"ce48ee70-0fec-11f0-b95a-67cf87457f46","responseTime":38,"status":200,"url":"/devices/4de7507f-0f04-488f-9427-af804b9c8e1d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42908","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.483278,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8e3ea11f5d8d74f970141efcb8213fab","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ce4da960-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","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":"ce4f5710-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"ce4da960-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42908","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8e3ea11f5d8d74f970141efcb8213fab"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6978fd6a-19fe-4cf0-a3e8-9977f5cec8ce","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.6548638} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:42908","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.064603,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ce4f5710-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","object_type":"device","rebac_allow":false,"scope_allow":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":"ce4f5710-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce4da960-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":26.448326,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} device-1 | {"level":"info","message":"POST /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482/signaling 200 45ms","method":"POST","requestID":"ce4da960-0fec-11f0-b95a-67cf87457f46","responseTime":45,"status":200,"url":"/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"8e3ea11f5d8d74f970141efcb8213fab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617019,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"8e3ea11f5d8d74f970141efcb8213fab","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce4f5710-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482/signaling 200 41ms","method":"POST","requestID":"ce4f5710-0fec-11f0-b95a-67cf87457f46","responseTime":41,"status":200,"url":"/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Building connection plan","requestID":"367cd60ee8fa6070547623c03e885aa0"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"b08cbce2-817f-4847-a26a-bfa31e07a3a6"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"a7598697-dbb2-4aad-a6bb-364e5e930419"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"9d32b27b-79a0-4cee-aa65-9f25969ba210"}]},"level":"info","message":"Built pairwise service configurations","requestID":"367cd60ee8fa6070547623c03e885aa0"} 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/49f120d6-c436-4d45-9c50-33bdd1d4c482"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"367cd60ee8fa6070547623c03e885aa0"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:36.664783043Z"}]},"request_id":"2ec98625-0594-4463-8d96-f7516ee24090","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.6929214} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"ce560dd0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"8e3ea11f5d8d74f970141efcb8213fab","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.731913,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8e3ea11f5d8d74f970141efcb8213fab"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ce560dd0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617019,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc"} gateway-1 | {"time_local":"02/Apr/2025:18:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4de7507f-0f04-488f-9427-af804b9c8e1d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e3ea11f5d8d74f970141efcb8213fab"} device-1 | {"level":"info","message":"GET /devices/4de7507f-0f04-488f-9427-af804b9c8e1d? 200 46ms","method":"GET","requestID":"8e3ea11f5d8d74f970141efcb8213fab","responseTime":46,"status":200,"url":"/devices/4de7507f-0f04-488f-9427-af804b9c8e1d?"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ce560dd0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc","level":"info","message":"auth send jwt","requestID":"28668558ee3432d2fe0d841f28688063"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"28668558ee3432d2fe0d841f28688063","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"28668558ee3432d2fe0d841f28688063"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"156b96bc-b2c8-49e3-856a-293bf5b91be1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.7300498} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"758e5eee-d7a6-425f-83d8-bdd17b6c190c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.7302825} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66392,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"ce560dd0-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/relations/update"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"28668558ee3432d2fe0d841f28688063","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617019,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAxOX0.AcCbUxeQIDcR-urwjzzDqEEgbtpvoWNdk9XDbYs_olc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"28668558ee3432d2fe0d841f28688063","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:36.761028776Z"}]},"request_id":"c6bd1199-113c-41be-8cd4-55a3754a00c4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.7383466} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"28668558ee3432d2fe0d841f28688063","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"ce560dd0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"ce560dd0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054'","requestID":"ce560dd0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054'","requestID":"ce560dd0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"ce560dd0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 92ms","method":"POST","requestID":"ce560dd0-0fec-11f0-b95a-67cf87457f46","responseTime":92,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"28668558ee3432d2fe0d841f28688063"} gateway-1 | {"time_local":"02/Apr/2025:18:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"28668558ee3432d2fe0d841f28688063"} device-1 | {"level":"info","message":"GET /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482? 200 83ms","method":"GET","requestID":"28668558ee3432d2fe0d841f28688063","responseTime":83,"status":200,"url":"/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"ce560dd0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054","device":"4de7507f-0f04-488f-9427-af804b9c8e1d","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/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"367cd60ee8fa6070547623c03e885aa0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce6c06d0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a707945-37f9-4484-8247-4cdcfc38ea92","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.8416343} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.545175,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ce6c06d0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ce6c06d0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce6c06d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/4de7507f-0f04-488f-9427-af804b9c8e1d/signaling 200 10ms","method":"POST","requestID":"ce6c06d0-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/4de7507f-0f04-488f-9427-af804b9c8e1d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce726f70-0fec-11f0-b95a-67cf87457f46"} device-1 | {"device":"4de7507f-0f04-488f-9427-af804b9c8e1d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"4de7507f-0f04-488f-9427-af804b9c8e1d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 7242219224039147065 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:piPM\r\na=ice-pwd:e+9PCgqT9Vn5a2V0mzqyiI5G\r\na=ice-options:trickle\r\na=fingerprint:sha-256 DE:58:B5:DA:29:63:33:22:9F:5F:7C:36:A1:D1:D4:10:72:80:06:6C:61:4E:5E:4F:BE:5F:DD:EF:A6:07:8C:38\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"4de7507f-0f04-488f-9427-af804b9c8e1d","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/4de7507f-0f04-488f-9427-af804b9c8e1d'"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:39Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1f00834-3450-4ed7-9259-487c00cb6bf5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617019.89559} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.299867,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:39Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce726f70-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ce726f70-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","object_type":"device","rebac_allow":false,"scope_allow":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":"ce726f70-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482/signaling 200 45ms","method":"POST","requestID":"ce726f70-0fec-11f0-b95a-67cf87457f46","responseTime":45,"status":200,"url":"/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482/signaling"} device-1 | {"device":"4de7507f-0f04-488f-9427-af804b9c8e1d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"49f120d6-c436-4d45-9c50-33bdd1d4c482","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"bc34673e-a176-46ba-9bc7-91c73b5fd054","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"49f120d6-c436-4d45-9c50-33bdd1d4c482","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"49f120d6-c436-4d45-9c50-33bdd1d4c482","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"49f120d6-c436-4d45-9c50-33bdd1d4c482","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"49f120d6-c436-4d45-9c50-33bdd1d4c482","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bc34673e-a176-46ba-9bc7-91c73b5fd054","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"01661186ea54992abcb4e76c1926ff08","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"01661186ea54992abcb4e76c1926ff08","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/49f120d6-c436-4d45-9c50-33bdd1d4c482"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054"}}},"level":"info","message":"received a callback","requestID":"01661186ea54992abcb4e76c1926ff08"} device-1 | {"content":{"candidate":"candidate:3179976346 1 udp 2113937151 53ae77ee-4e2e-442e-b52b-cbd2f79b34b3.local 47608 typ host generation 0 ufrag piPM network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4de7507f-0f04-488f-9427-af804b9c8e1d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"4de7507f-0f04-488f-9427-af804b9c8e1d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"01661186ea54992abcb4e76c1926ff08","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"01661186ea54992abcb4e76c1926ff08"} device-1 | {"data":{"peerconnection":"bc34673e-a176-46ba-9bc7-91c73b5fd054","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"49f120d6-c436-4d45-9c50-33bdd1d4c482","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4de7507f-0f04-488f-9427-af804b9c8e1d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"49f120d6-c436-4d45-9c50-33bdd1d4c482","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"bc34673e-a176-46ba-9bc7-91c73b5fd054","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/bc34673e-a176-46ba-9bc7-91c73b5fd054' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bc34673e-a176-46ba-9bc7-91c73b5fd054","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"286481b336976ba4045acc97f970905b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"286481b336976ba4045acc97f970905b","responseTime":25,"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/49f120d6-c436-4d45-9c50-33bdd1d4c482"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054"}}},"level":"info","message":"received a callback","requestID":"286481b336976ba4045acc97f970905b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"cfad8780-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:41Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbc34673e-a176-46ba-9bc7-91c73b5fd054","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a9e8931-13d3-48c2-a7fd-0b8f890b754a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617021.950842} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.025761,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cfad8780-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054","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":"cfad8780-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"cfad8780-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054 200 12ms","method":"GET","requestID":"cfad8780-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 63ms","method":"POST","requestID":"286481b336976ba4045acc97f970905b","responseTime":63,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch","requestID":"286481b336976ba4045acc97f970905b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cfb63a10-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab10f5a7-e271-462d-8147-b1347b4929e5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.0062063} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.904589,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cfb63a10-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cfb63a10-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cfb63a10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482/signaling 200 35ms","method":"POST","requestID":"cfb63a10-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cfbbdf60-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bbece477-e85b-4323-bb1e-5ad9d7de283d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.0440059} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.346163,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cfbbdf60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","object_type":"device","rebac_allow":false,"scope_allow":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":"cfbbdf60-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cfbbdf60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/4de7507f-0f04-488f-9427-af804b9c8e1d/signaling 200 17ms","method":"POST","requestID":"cfbbdf60-0fec-11f0-b95a-67cf87457f46","responseTime":17,"status":200,"url":"/devices/4de7507f-0f04-488f-9427-af804b9c8e1d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyMn0.-c3wA5x2f1Qike2aJVrNXttDP8gCGgrSZxVTxh2ST3w","level":"info","message":"auth send jwt","requestID":"d1296081630fa04bc24e84586fdb4833"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d1296081630fa04bc24e84586fdb4833","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff","requestID":"d1296081630fa04bc24e84586fdb4833"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.732737,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d1296081630fa04bc24e84586fdb4833","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617022,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyMn0.-c3wA5x2f1Qike2aJVrNXttDP8gCGgrSZxVTxh2ST3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d1296081630fa04bc24e84586fdb4833","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff","requestID":"d1296081630fa04bc24e84586fdb4833"} gateway-1 | {"time_local":"02/Apr/2025:18:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d1296081630fa04bc24e84586fdb4833"} experiment-1 | {"level":"info","message":"GET /experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff 200 10ms","method":"GET","requestID":"d1296081630fa04bc24e84586fdb4833","responseTime":10,"status":200,"url":"/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyMn0.-c3wA5x2f1Qike2aJVrNXttDP8gCGgrSZxVTxh2ST3w","level":"info","message":"auth send jwt","requestID":"7bc5db4076f073b4c873da0d25350359"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7bc5db4076f073b4c873da0d25350359","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff","requestID":"7bc5db4076f073b4c873da0d25350359"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.619267,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7bc5db4076f073b4c873da0d25350359","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617022,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyMn0.-c3wA5x2f1Qike2aJVrNXttDP8gCGgrSZxVTxh2ST3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"7bc5db4076f073b4c873da0d25350359","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Attempting to finish experiment","requestID":"7bc5db4076f073b4c873da0d25350359"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"cffeb4c0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.581299,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cffeb4c0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617022,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyMn0.-c3wA5x2f1Qike2aJVrNXttDP8gCGgrSZxVTxh2ST3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cffeb4c0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054","device":"4de7507f-0f04-488f-9427-af804b9c8e1d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"49f120d6-c436-4d45-9c50-33bdd1d4c482","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"49f120d6-c436-4d45-9c50-33bdd1d4c482","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"49f120d6-c436-4d45-9c50-33bdd1d4c482","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bc34673e-a176-46ba-9bc7-91c73b5fd054","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c8edac928b4955d20568e1746e7949f2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c8edac928b4955d20568e1746e7949f2","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbc34673e-a176-46ba-9bc7-91c73b5fd054': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbc34673e-a176-46ba-9bc7-91c73b5fd054","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"99dfdae5-5381-4fcd-bced-1e4f96334133","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.5211768} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dade876e60ef3a6a62ac875f37f2abae","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054"}}},"level":"info","message":"received a callback","requestID":"c8edac928b4955d20568e1746e7949f2"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dade876e60ef3a6a62ac875f37f2abae","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3f3a3cb-c913-4804-8eb8-a310a38b29f6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.5214653} 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/49f120d6-c436-4d45-9c50-33bdd1d4c482"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054"}}},"level":"info","message":"received a callback","requestID":"dade876e60ef3a6a62ac875f37f2abae"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"cffeb4c0-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"bc34673e-a176-46ba-9bc7-91c73b5fd054","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"cffeb4c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054 204 89ms","method":"DELETE","requestID":"cffeb4c0-0fec-11f0-b95a-67cf87457f46","responseTime":89,"status":204,"url":"/peerconnections/bc34673e-a176-46ba-9bc7-91c73b5fd054"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"},"level":"info","message":"Successfully finished experiment","requestID":"7bc5db4076f073b4c873da0d25350359"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d00e6c30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49f120d6-c436-4d45-9c50-33bdd1d4c482","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1814e8b-bb99-40ed-9b17-11f1412ff428","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.584146} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d00e6c30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.404413,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:42Z"} device-1 | {"level":"info","message":"POST /devices/49f120d6-c436-4d45-9c50-33bdd1d4c482/signaling 200 8ms","method":"POST","requestID":"d00e6c30-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d00e6c30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482","object_type":"device","rebac_allow":false,"scope_allow":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":"d00e6c30-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d013c360-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ed77781-8881-4c2b-b3f6-743ed481d910","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.6166732} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"d291871a-0d41-4a9d-94e5-e2a106a1934e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.617283} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"7bc5db4076f073b4c873da0d25350359","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4de7507f-0f04-488f-9427-af804b9c8e1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ed993c6-83c7-4711-8b59-1e77a9463946","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.6217263} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.729885,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d013c360-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d","object_type":"device","rebac_allow":false,"scope_allow":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":"d013c360-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d013c360-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/4de7507f-0f04-488f-9427-af804b9c8e1d/signaling 200 12ms","method":"POST","requestID":"d013c360-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/4de7507f-0f04-488f-9427-af804b9c8e1d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff","requestID":"7bc5db4076f073b4c873da0d25350359"} gateway-1 | {"time_local":"02/Apr/2025:18:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.283","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bc5db4076f073b4c873da0d25350359"} experiment-1 | {"level":"info","message":"DELETE /experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff 204 280ms","method":"DELETE","requestID":"7bc5db4076f073b4c873da0d25350359","responseTime":280,"status":204,"url":"/experiments/2d4b9ec9-a8b1-4d08-8cb7-0b47622df1ff"} gateway-1 | {"time_local":"02/Apr/2025:18:03:42 +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.712","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"bcce8e7ff8a4c60ca40d22d02efc6f74"} gateway-1 | {"time_local":"02/Apr/2025:18:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch","requestID":"c8edac928b4955d20568e1746e7949f2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 205ms","method":"POST","requestID":"c8edac928b4955d20568e1746e7949f2","responseTime":205,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 204ms","method":"POST","requestID":"dade876e60ef3a6a62ac875f37f2abae","responseTime":204,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch","requestID":"dade876e60ef3a6a62ac875f37f2abae"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyMn0.-c3wA5x2f1Qike2aJVrNXttDP8gCGgrSZxVTxh2ST3w","level":"info","message":"auth send jwt","requestID":"1c1fd8813ad767d79c35fdbf104192a7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1c1fd8813ad767d79c35fdbf104192a7","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:42Z"} gateway-1 | {"time_local":"02/Apr/2025:18:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2141","request_time":"3.445","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"25dab094ebe73d85c5650aac6261bc2e"} device-1 | {"level":"info","message":"postDevices called","requestID":"1c1fd8813ad767d79c35fdbf104192a7"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.007234,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1c1fd8813ad767d79c35fdbf104192a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617022,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyMn0.-c3wA5x2f1Qike2aJVrNXttDP8gCGgrSZxVTxh2ST3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"1c1fd8813ad767d79c35fdbf104192a7","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/49f120d6-c436-4d45-9c50-33bdd1d4c482' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2353aa12-be1c-4e56-8493-83e8aa240349","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.8143225} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"1c1fd8813ad767d79c35fdbf104192a7","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4de7507f-0f04-488f-9427-af804b9c8e1d' 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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fccdd679-f2d2-49d4-b6c7-ba561dd6eba5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.8225615} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1c1fd8813ad767d79c35fdbf104192a7","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"13ac63e0-89b2-460c-8162-5e5b1e335cf1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.8583794} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"abceec87-0661-4d5e-9422-35db0163a1f8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.858937} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"1c1fd8813ad767d79c35fdbf104192a7","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:42.857695808Z"}]},"request_id":"d645b36a-6deb-463b-94ff-b24a62635fec","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.8637788} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1c1fd8813ad767d79c35fdbf104192a7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1c1fd8813ad767d79c35fdbf104192a7"} gateway-1 | {"time_local":"02/Apr/2025:18:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c1fd8813ad767d79c35fdbf104192a7"} device-1 | {"level":"info","message":"POST /devices? 201 108ms","method":"POST","requestID":"1c1fd8813ad767d79c35fdbf104192a7","responseTime":108,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyMn0.-c3wA5x2f1Qike2aJVrNXttDP8gCGgrSZxVTxh2ST3w","level":"info","message":"auth send jwt","requestID":"7982bca62b67475423bd2a84c05b4a79"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7982bca62b67475423bd2a84c05b4a79","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7982bca62b67475423bd2a84c05b4a79"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.910693,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7982bca62b67475423bd2a84c05b4a79","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617022,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyMn0.-c3wA5x2f1Qike2aJVrNXttDP8gCGgrSZxVTxh2ST3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"7982bca62b67475423bd2a84c05b4a79","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3fe5fd85-2fba-429b-afe5-66b196609085","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.9185638} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7982bca62b67475423bd2a84c05b4a79","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a9a40ad-c8a9-48a3-94fb-e3f7017b12da","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.9482772} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7982bca62b67475423bd2a84c05b4a79","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"15740811-a434-4719-bc11-064cfd91db02","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.9600573} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46401f77-d5d4-44e9-93ae-2754f8039ca4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.96037} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"7982bca62b67475423bd2a84c05b4a79","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:42.960033825Z"}]},"request_id":"e207eb33-4e69-41f9-a4e0-33c07a03e9fa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617022.9642816} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7982bca62b67475423bd2a84c05b4a79","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7982bca62b67475423bd2a84c05b4a79"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"7982bca62b67475423bd2a84c05b4a79","responseTime":93,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7982bca62b67475423bd2a84c05b4a79"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNH0.nFZ2Yqq6PfrPFGPqf6ci2tepVojKaRQlzUzyKOLwzEA","level":"info","message":"auth send jwt","requestID":"82f21d2f89d520669e71c5f4f8d565ce"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"82f21d2f89d520669e71c5f4f8d565ce","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"82f21d2f89d520669e71c5f4f8d565ce"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:44Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.641167,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"82f21d2f89d520669e71c5f4f8d565ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617024,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNH0.nFZ2Yqq6PfrPFGPqf6ci2tepVojKaRQlzUzyKOLwzEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"82f21d2f89d520669e71c5f4f8d565ce","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:42.857695808Z"}]},"request_id":"a42f6e45-7024-4131-ba68-ab26a1749fb8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617024.1158068} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"82f21d2f89d520669e71c5f4f8d565ce","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"157bbf6a-9fbd-4212-bf8b-8f29feddca42","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617024.1200886} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"82f21d2f89d520669e71c5f4f8d565ce","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:42.857695808Z"}]},"request_id":"9b2c3848-927e-45d5-b551-228b1844ed1f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617024.1568687} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"82f21d2f89d520669e71c5f4f8d565ce","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"82f21d2f89d520669e71c5f4f8d565ce"} gateway-1 | {"time_local":"02/Apr/2025:18:03:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/42fad695-cfc6-4b02-bc71-f43e82601586 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"82f21d2f89d520669e71c5f4f8d565ce"} device-1 | {"level":"info","message":"PATCH /devices/42fad695-cfc6-4b02-bc71-f43e82601586 200 53ms","method":"PATCH","requestID":"82f21d2f89d520669e71c5f4f8d565ce","responseTime":53,"status":200,"url":"/devices/42fad695-cfc6-4b02-bc71-f43e82601586"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNH0.nFZ2Yqq6PfrPFGPqf6ci2tepVojKaRQlzUzyKOLwzEA","level":"info","message":"auth send jwt","requestID":"dc835b838f4d2512bfcd5215a480840c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dc835b838f4d2512bfcd5215a480840c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"dc835b838f4d2512bfcd5215a480840c"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:44Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926508,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc835b838f4d2512bfcd5215a480840c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617024,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNH0.nFZ2Yqq6PfrPFGPqf6ci2tepVojKaRQlzUzyKOLwzEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dc835b838f4d2512bfcd5215a480840c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"dc835b838f4d2512bfcd5215a480840c"} gateway-1 | {"time_local":"02/Apr/2025:18:03:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/42fad695-cfc6-4b02-bc71-f43e82601586/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"dc835b838f4d2512bfcd5215a480840c"} device-1 | {"level":"info","message":"POST /devices/42fad695-cfc6-4b02-bc71-f43e82601586/websocket 200 42ms","method":"POST","requestID":"dc835b838f4d2512bfcd5215a480840c","responseTime":42,"status":200,"url":"/devices/42fad695-cfc6-4b02-bc71-f43e82601586/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"584842563cd044f43bd6ac3c4fc06b0e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"584842563cd044f43bd6ac3c4fc06b0e","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:03:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/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":"584842563cd044f43bd6ac3c4fc06b0e"} device-1 | {"level":"info","message":"OPTIONS /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/websocket 200 1ms","method":"OPTIONS","requestID":"584842563cd044f43bd6ac3c4fc06b0e","responseTime":1,"status":200,"url":"/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU","level":"info","message":"auth send jwt","requestID":"31080e5d6ecdca788f55958f9784c7d0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"31080e5d6ecdca788f55958f9784c7d0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"31080e5d6ecdca788f55958f9784c7d0"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678116,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"31080e5d6ecdca788f55958f9784c7d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617025,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"31080e5d6ecdca788f55958f9784c7d0","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"31080e5d6ecdca788f55958f9784c7d0"} gateway-1 | {"time_local":"02/Apr/2025:18:03:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"31080e5d6ecdca788f55958f9784c7d0"} device-1 | {"level":"info","message":"POST /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/websocket 200 42ms","method":"POST","requestID":"31080e5d6ecdca788f55958f9784c7d0","responseTime":42,"status":200,"url":"/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU","level":"info","message":"auth send jwt","requestID":"54708de8dfd4f42d0671fce106af3002"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"54708de8dfd4f42d0671fce106af3002","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"54708de8dfd4f42d0671fce106af3002"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.711527,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"54708de8dfd4f42d0671fce106af3002","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617025,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"54708de8dfd4f42d0671fce106af3002","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:42.857695808Z"}]},"request_id":"3e444e5c-acb8-4e4f-aeb0-386fb4f604c3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.450582} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"54708de8dfd4f42d0671fce106af3002","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"54708de8dfd4f42d0671fce106af3002"} device-1 | {"level":"info","message":"GET /devices/42fad695-cfc6-4b02-bc71-f43e82601586? 200 10ms","method":"GET","requestID":"54708de8dfd4f42d0671fce106af3002","responseTime":10,"status":200,"url":"/devices/42fad695-cfc6-4b02-bc71-f43e82601586?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/42fad695-cfc6-4b02-bc71-f43e82601586? 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":"54708de8dfd4f42d0671fce106af3002"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU","level":"info","message":"auth send jwt","requestID":"4791cdbce050f28957b06b9f6ceede40"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4791cdbce050f28957b06b9f6ceede40","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4791cdbce050f28957b06b9f6ceede40"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709173,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4791cdbce050f28957b06b9f6ceede40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617025,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4791cdbce050f28957b06b9f6ceede40","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:42.960033825Z"}]},"request_id":"befdb13b-bb84-4791-aa95-649ce227309e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.488912} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"4791cdbce050f28957b06b9f6ceede40","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4791cdbce050f28957b06b9f6ceede40"} gateway-1 | {"time_local":"02/Apr/2025:18:03:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4791cdbce050f28957b06b9f6ceede40"} device-1 | {"level":"info","message":"GET /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40? 200 34ms","method":"GET","requestID":"4791cdbce050f28957b06b9f6ceede40","responseTime":34,"status":200,"url":"/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU","level":"info","message":"auth send jwt","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e48e52d76b605ed82d3048bfa7b85bf0","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.934899,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e48e52d76b605ed82d3048bfa7b85bf0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617025,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e48e52d76b605ed82d3048bfa7b85bf0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Attempting to run experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Attempting to book experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Successfully booked experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d1d45f20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d1d4ad40-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681328,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d1d45f20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617025,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d1d45f20-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.897989,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d1d4ad40-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617025,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"d1d4ad40-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:42.857695808Z"}]},"request_id":"c80db0d5-253f-4a91-aeca-97be7c05acc8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.586675} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d1d45f20-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:42.960033825Z"}]},"request_id":"27791fad-330e-43a5-a968-722b25bb0a01","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.589976} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d1d4ad40-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d1d45f20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/42fad695-cfc6-4b02-bc71-f43e82601586? 200 40ms","method":"GET","requestID":"d1d45f20-0fec-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/devices/42fad695-cfc6-4b02-bc71-f43e82601586?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d1d4ad40-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40? 200 39ms","method":"GET","requestID":"d1d4ad40-0fec-11f0-b95a-67cf87457f46","responseTime":39,"status":200,"url":"/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Setting up experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Successfully set up experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d1e32c30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d1e35340-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Successfully running experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d1e3c870-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.192623,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.627314,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d1e32c30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617025,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"d1e32c30-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d1e35340-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617025,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"d1e35340-0fec-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:42.960033825Z"}]},"request_id":"0f73bdae-3121-49d6-9474-8f996d4ad897","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.686551} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d1e35340-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:42.857695808Z"}]},"request_id":"f8d76215-7723-41b8-bf48-ec0fd353c031","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.6877155} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d1e32c30-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c52f0968-2771-4803-9656-e5b353b67493","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.688332} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.252224,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d1e3c870-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","object_type":"device","rebac_allow":false,"scope_allow":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":"d1e3c870-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d1e35340-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40? 200 42ms","method":"GET","requestID":"d1e35340-0fec-11f0-b95a-67cf87457f46","responseTime":42,"status":200,"url":"/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d1e32c30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/42fad695-cfc6-4b02-bc71-f43e82601586? 200 45ms","method":"GET","requestID":"d1e32c30-0fec-11f0-b95a-67cf87457f46","responseTime":45,"status":200,"url":"/devices/42fad695-cfc6-4b02-bc71-f43e82601586?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d1e3c870-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/42fad695-cfc6-4b02-bc71-f43e82601586/signaling 200 41ms","method":"POST","requestID":"d1e3c870-0fec-11f0-b95a-67cf87457f46","responseTime":41,"status":200,"url":"/devices/42fad695-cfc6-4b02-bc71-f43e82601586/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d1ea3110-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d1ea7f30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F14f71eac-458a-429a-83be-5d0fd52c036a#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F14f71eac-458a-429a-83be-5d0fd52c036a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"aad34971-29a8-4a26-959f-8cdef6359874","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.6990914} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbb03909-5cfa-4160-8c74-80f6aac5fb92","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.6994293} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"e48e52d76b605ed82d3048bfa7b85bf0","responseTime":47,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.259864,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eee8f097-9214-4a0b-a4da-b94fbb551348","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.7023115} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d1ea3110-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","object_type":"device","rebac_allow":false,"scope_allow":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":"d1ea3110-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99fd241a-7aad-4d95-9381-0b5e8124f2fb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.731113} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d1ea3110-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} device-1 | {"level":"info","message":"POST /devices/42fad695-cfc6-4b02-bc71-f43e82601586/signaling 200 37ms","method":"POST","requestID":"d1ea3110-0fec-11f0-b95a-67cf87457f46","responseTime":37,"status":200,"url":"/devices/42fad695-cfc6-4b02-bc71-f43e82601586/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":29.346852,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} gateway-1 | {"time_local":"02/Apr/2025:18:03:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.241","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 238ms","method":"POST","requestID":"e48e52d76b605ed82d3048bfa7b85bf0","responseTime":238,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d1ea7f30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","object_type":"device","rebac_allow":false,"scope_allow":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":"d1ea7f30-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d1f04b90-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU","level":"info","message":"auth send jwt","requestID":"0ed0ecd3476a7c740bcaa6d57f90625c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d1ea7f30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/signaling 200 41ms","method":"POST","requestID":"d1ea7f30-0fec-11f0-b95a-67cf87457f46","responseTime":41,"status":200,"url":"/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0ed0ecd3476a7c740bcaa6d57f90625c","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0ed0ecd3476a7c740bcaa6d57f90625c"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6797439a-b860-4f44-85fb-bb603472728e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.7434032} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.936866,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d1f04b90-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d1f04b90-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.637201,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0ed0ecd3476a7c740bcaa6d57f90625c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617025,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0ed0ecd3476a7c740bcaa6d57f90625c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d1f04b90-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/signaling 200 12ms","method":"POST","requestID":"d1f04b90-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:42.857695808Z"}]},"request_id":"6b876d5c-63df-4a47-bc17-47f371210698","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.7501965} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Building connection plan","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"e14ceb28-ea90-4ba6-b031-eedc368d393d"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"322e6290-8a4f-43b9-8aa1-3a7bf132bb94"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"efb04207-4c15-49d4-b266-0b417ff52998"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} 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/42fad695-cfc6-4b02-bc71-f43e82601586"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0ed0ecd3476a7c740bcaa6d57f90625c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d1f66610-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0ed0ecd3476a7c740bcaa6d57f90625c"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} gateway-1 | {"time_local":"02/Apr/2025:18:03:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/42fad695-cfc6-4b02-bc71-f43e82601586? 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":"0ed0ecd3476a7c740bcaa6d57f90625c"} device-1 | {"level":"info","message":"GET /devices/42fad695-cfc6-4b02-bc71-f43e82601586? 200 39ms","method":"GET","requestID":"0ed0ecd3476a7c740bcaa6d57f90625c","responseTime":39,"status":200,"url":"/devices/42fad695-cfc6-4b02-bc71-f43e82601586?"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.905014,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d1f66610-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617025,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d1f66610-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU","level":"info","message":"auth send jwt","requestID":"3b254f2c4ac3d1c744d3ecc8f2216705"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3b254f2c4ac3d1c744d3ecc8f2216705","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3b254f2c4ac3d1c744d3ecc8f2216705"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.864194,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"3b254f2c4ac3d1c744d3ecc8f2216705","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617025,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyNX0.APq3xKi6NT0ircCC9Uh0pbO6di1eH39sBXYQkrTB5BU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3b254f2c4ac3d1c744d3ecc8f2216705","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"7fe41b58-8a08-46a3-b1d8-ebf67b9f7057","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.791188} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1fb47e5-d635-4e0c-a91b-9c5ad6649de9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.7913918} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:42.960033825Z"}]},"request_id":"dddc496b-19a3-440c-9bf0-c1ba5d664ec5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.792223} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"d1f66610-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3b254f2c4ac3d1c744d3ecc8f2216705","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3b254f2c4ac3d1c744d3ecc8f2216705"} gateway-1 | {"time_local":"02/Apr/2025:18:03:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40? 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":"3b254f2c4ac3d1c744d3ecc8f2216705"} device-1 | {"level":"info","message":"GET /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40? 200 12ms","method":"GET","requestID":"3b254f2c4ac3d1c744d3ecc8f2216705","responseTime":12,"status":200,"url":"/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d1f66610-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d1f66610-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778'","requestID":"d1f66610-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778'","requestID":"d1f66610-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d1f66610-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 53ms","method":"POST","requestID":"d1f66610-0fec-11f0-b95a-67cf87457f46","responseTime":53,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d1f66610-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778","device":"e42eddd9-b530-4ea4-87a5-131cb3c7db40","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/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e48e52d76b605ed82d3048bfa7b85bf0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d20692b0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71d5135f-29bc-43c8-ae52-e9e46a175b68","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.8879309} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.51865,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d20692b0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","object_type":"device","rebac_allow":false,"scope_allow":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":"d20692b0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d20692b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/42fad695-cfc6-4b02-bc71-f43e82601586/signaling 200 9ms","method":"POST","requestID":"d20692b0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/42fad695-cfc6-4b02-bc71-f43e82601586/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2084060-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ea604ba-0db3-4d2e-afcb-a1b087d15acb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617025.9238782} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.163855,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d2084060-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"device":"e42eddd9-b530-4ea4-87a5-131cb3c7db40","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"e42eddd9-b530-4ea4-87a5-131cb3c7db40","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"d2084060-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2084060-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/signaling 200 37ms","method":"POST","requestID":"d2084060-0fec-11f0-b95a-67cf87457f46","responseTime":37,"status":200,"url":"/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 4201881316023292591 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:IaSG\r\na=ice-pwd:3GhnW52KVQfe5hN2aygk4s6l\r\na=ice-options:trickle\r\na=fingerprint:sha-256 6F:F6:90:33:69:AD:62:96:04:A1:42:C9:0F:1F:13:BB:44:5E:1E:AE:79:3A:23:44:DD:9C:49:63:72:44:88:12\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"e42eddd9-b530-4ea4-87a5-131cb3c7db40","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40'"} device-1 | {"device":"e42eddd9-b530-4ea4-87a5-131cb3c7db40","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"42fad695-cfc6-4b02-bc71-f43e82601586","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"06385177-9a15-49fa-b928-eaa3abe7c778","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"42fad695-cfc6-4b02-bc71-f43e82601586","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"42fad695-cfc6-4b02-bc71-f43e82601586","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"42fad695-cfc6-4b02-bc71-f43e82601586","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"42fad695-cfc6-4b02-bc71-f43e82601586","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"06385177-9a15-49fa-b928-eaa3abe7c778","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4b276fb7ad56f469b3d8a7f23ad4fe00","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4b276fb7ad56f469b3d8a7f23ad4fe00","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/42fad695-cfc6-4b02-bc71-f43e82601586"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778"}}},"level":"info","message":"received a callback","requestID":"4b276fb7ad56f469b3d8a7f23ad4fe00"} gateway-1 | {"time_local":"02/Apr/2025:18:03:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b276fb7ad56f469b3d8a7f23ad4fe00"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"4b276fb7ad56f469b3d8a7f23ad4fe00","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"content":{"candidate":"candidate:3591379598 1 udp 2113937151 95234e06-b62f-4930-9c8e-a42a4ab7d75f.local 51996 typ host generation 0 ufrag IaSG network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e42eddd9-b530-4ea4-87a5-131cb3c7db40","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"e42eddd9-b530-4ea4-87a5-131cb3c7db40","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"42fad695-cfc6-4b02-bc71-f43e82601586","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e42eddd9-b530-4ea4-87a5-131cb3c7db40","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"42fad695-cfc6-4b02-bc71-f43e82601586","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"06385177-9a15-49fa-b928-eaa3abe7c778","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"06385177-9a15-49fa-b928-eaa3abe7c778","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/06385177-9a15-49fa-b928-eaa3abe7c778' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"06385177-9a15-49fa-b928-eaa3abe7c778","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0838470e351ad989832c5dfba6f4e978","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0838470e351ad989832c5dfba6f4e978","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778"}}},"level":"info","message":"received a callback","requestID":"0838470e351ad989832c5dfba6f4e978"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d34972f0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F06385177-9a15-49fa-b928-eaa3abe7c778","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"374601ca-7f44-4dce-8879-5ef9f7b8199b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.0045445} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.808733,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d34972f0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778","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":"d34972f0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d34972f0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778 200 34ms","method":"GET","requestID":"d34972f0-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 57ms","method":"POST","requestID":"0838470e351ad989832c5dfba6f4e978","responseTime":57,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch","requestID":"0838470e351ad989832c5dfba6f4e978"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d3516230-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef9e21fc-e6f7-4ef7-9f0c-1b8345cffc2b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.056445} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.668332,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d3516230-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d3516230-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d3516230-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/42fad695-cfc6-4b02-bc71-f43e82601586/signaling 200 35ms","method":"POST","requestID":"d3516230-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/42fad695-cfc6-4b02-bc71-f43e82601586/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d3572e90-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16c60b62-c8aa-4623-831b-4df2d6dbdebd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.0946143} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.097376,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d3572e90-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d3572e90-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d3572e90-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/signaling 200 11ms","method":"POST","requestID":"d3572e90-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOH0.4w-Q8zcY4vsJDH4vO5MpWdH7gQ9HDym8v-gTvHT834I","level":"info","message":"auth send jwt","requestID":"29ff5ed04039eca2d39aec3e1c602936"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/14f71eac-458a-429a-83be-5d0fd52c036a","requestID":"29ff5ed04039eca2d39aec3e1c602936"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"29ff5ed04039eca2d39aec3e1c602936","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.730067,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"29ff5ed04039eca2d39aec3e1c602936","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617028,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOH0.4w-Q8zcY4vsJDH4vO5MpWdH7gQ9HDym8v-gTvHT834I"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"29ff5ed04039eca2d39aec3e1c602936","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/14f71eac-458a-429a-83be-5d0fd52c036a","requestID":"29ff5ed04039eca2d39aec3e1c602936"} gateway-1 | {"time_local":"02/Apr/2025:18:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/14f71eac-458a-429a-83be-5d0fd52c036a HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29ff5ed04039eca2d39aec3e1c602936"} experiment-1 | {"level":"info","message":"GET /experiments/14f71eac-458a-429a-83be-5d0fd52c036a 200 33ms","method":"GET","requestID":"29ff5ed04039eca2d39aec3e1c602936","responseTime":33,"status":200,"url":"/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOH0.4w-Q8zcY4vsJDH4vO5MpWdH7gQ9HDym8v-gTvHT834I","level":"info","message":"auth send jwt","requestID":"3ea72775f8d28e95dde2d823e922e095"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3ea72775f8d28e95dde2d823e922e095","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/14f71eac-458a-429a-83be-5d0fd52c036a","requestID":"3ea72775f8d28e95dde2d823e922e095"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.689336,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"3ea72775f8d28e95dde2d823e922e095","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617028,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOH0.4w-Q8zcY4vsJDH4vO5MpWdH7gQ9HDym8v-gTvHT834I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3ea72775f8d28e95dde2d823e922e095","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Attempting to finish experiment","requestID":"3ea72775f8d28e95dde2d823e922e095"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d376c480-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.721104,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d376c480-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617028,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOH0.4w-Q8zcY4vsJDH4vO5MpWdH7gQ9HDym8v-gTvHT834I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d376c480-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778","device":"e42eddd9-b530-4ea4-87a5-131cb3c7db40","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"42fad695-cfc6-4b02-bc71-f43e82601586","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"42fad695-cfc6-4b02-bc71-f43e82601586","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"42fad695-cfc6-4b02-bc71-f43e82601586","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"06385177-9a15-49fa-b928-eaa3abe7c778","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"147895bb4b4a8e2e8767b47b6c00cfb6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"147895bb4b4a8e2e8767b47b6c00cfb6","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F06385177-9a15-49fa-b928-eaa3abe7c778': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F06385177-9a15-49fa-b928-eaa3abe7c778","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"6b249b07-d66e-4623-9d07-09de26a32c97","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.3368561} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a93e123-b6db-4e49-98f9-bda1af0db405","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.3371913} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bad939c0a6a494f00143d4081174a3de","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bad939c0a6a494f00143d4081174a3de","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778"}}},"level":"info","message":"received a callback","requestID":"147895bb4b4a8e2e8767b47b6c00cfb6"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"d376c480-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778"}}},"level":"info","message":"received a callback","requestID":"bad939c0a6a494f00143d4081174a3de"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d376c480-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778 204 87ms","method":"DELETE","requestID":"d376c480-0fec-11f0-b95a-67cf87457f46","responseTime":87,"status":204,"url":"/peerconnections/06385177-9a15-49fa-b928-eaa3abe7c778"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"},"level":"info","message":"Successfully finished experiment","requestID":"3ea72775f8d28e95dde2d823e922e095"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d389d750-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42fad695-cfc6-4b02-bc71-f43e82601586","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8101d18-6cd5-4530-856e-de333476084f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.4258304} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.697265,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d389d750-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d389d750-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d389d750-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/42fad695-cfc6-4b02-bc71-f43e82601586/signaling 200 9ms","method":"POST","requestID":"d389d750-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/42fad695-cfc6-4b02-bc71-f43e82601586/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d38b8500-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F14f71eac-458a-429a-83be-5d0fd52c036a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F14f71eac-458a-429a-83be-5d0fd52c036a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"1c079dcf-d36f-4b28-a99d-5ba3c1feef7b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.4326124} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbf79193-a628-4a55-82e7-e84631543f4f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.4329562} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"3ea72775f8d28e95dde2d823e922e095","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42eddd9-b530-4ea4-87a5-131cb3c7db40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71434765-4b1b-4e58-b045-934560661207","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.4369142} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.504758,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d38b8500-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d38b8500-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d38b8500-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/signaling 200 33ms","method":"POST","requestID":"d38b8500-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/e42eddd9-b530-4ea4-87a5-131cb3c7db40/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/14f71eac-458a-429a-83be-5d0fd52c036a","requestID":"3ea72775f8d28e95dde2d823e922e095"} gateway-1 | {"time_local":"02/Apr/2025:18:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/14f71eac-458a-429a-83be-5d0fd52c036a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.256","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ea72775f8d28e95dde2d823e922e095"} gateway-1 | {"time_local":"02/Apr/2025:18:03:48 +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.331","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"facdddaf9236bf4d6a6a7b8ac628bbf3"} experiment-1 | {"level":"info","message":"DELETE /experiments/14f71eac-458a-429a-83be-5d0fd52c036a 204 276ms","method":"DELETE","requestID":"3ea72775f8d28e95dde2d823e922e095","responseTime":276,"status":204,"url":"/experiments/14f71eac-458a-429a-83be-5d0fd52c036a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 225ms","method":"POST","requestID":"147895bb4b4a8e2e8767b47b6c00cfb6","responseTime":225,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.229","http_referrer":"","http_user_agent":"node-fetch","requestID":"147895bb4b4a8e2e8767b47b6c00cfb6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 226ms","method":"POST","requestID":"bad939c0a6a494f00143d4081174a3de","responseTime":226,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.229","http_referrer":"","http_user_agent":"node-fetch","requestID":"bad939c0a6a494f00143d4081174a3de"} gateway-1 | {"time_local":"02/Apr/2025:18:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2141","request_time":"3.167","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bfc715c933b2eb578246d312f3317b7c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOH0.4w-Q8zcY4vsJDH4vO5MpWdH7gQ9HDym8v-gTvHT834I","level":"info","message":"auth send jwt","requestID":"a3c37dbd2c8b3fd875c9c070585698c7"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a3c37dbd2c8b3fd875c9c070585698c7","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a3c37dbd2c8b3fd875c9c070585698c7"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/42fad695-cfc6-4b02-bc71-f43e82601586' closed"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.876382,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"a3c37dbd2c8b3fd875c9c070585698c7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617028,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOH0.4w-Q8zcY4vsJDH4vO5MpWdH7gQ9HDym8v-gTvHT834I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a3c37dbd2c8b3fd875c9c070585698c7","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/e42eddd9-b530-4ea4-87a5-131cb3c7db40' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bdecb691-0561-49e8-93ca-b1e786176d59","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.6161816} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a3c37dbd2c8b3fd875c9c070585698c7","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4bdabb5c-de8a-4154-897c-f9af7ba61080","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.6211922} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a3c37dbd2c8b3fd875c9c070585698c7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"f1a00a5f-421e-417c-aacc-c1a486a82daf","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.6612318} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7b474d0-7b54-4a7f-bcb4-b59e54eb5af2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.6614947} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"a3c37dbd2c8b3fd875c9c070585698c7","responseTime":43,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.661207955Z"}]},"request_id":"34dd8a37-1ef1-4160-b5b0-a1188d04398e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.6659772} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a3c37dbd2c8b3fd875c9c070585698c7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a3c37dbd2c8b3fd875c9c070585698c7"} gateway-1 | {"time_local":"02/Apr/2025:18:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.104","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3c37dbd2c8b3fd875c9c070585698c7"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"a3c37dbd2c8b3fd875c9c070585698c7","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOH0.4w-Q8zcY4vsJDH4vO5MpWdH7gQ9HDym8v-gTvHT834I","level":"info","message":"auth send jwt","requestID":"3ff579ccebdef19743129997ab457a39"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3ff579ccebdef19743129997ab457a39","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3ff579ccebdef19743129997ab457a39"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.965043,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"3ff579ccebdef19743129997ab457a39","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617028,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOH0.4w-Q8zcY4vsJDH4vO5MpWdH7gQ9HDym8v-gTvHT834I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3ff579ccebdef19743129997ab457a39","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"506d1f51-c988-43c2-88b9-c803b2a69798","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.7287273} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"3ff579ccebdef19743129997ab457a39","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c2277e9-b235-43f6-8197-706ed275e580","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.7577431} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"3ff579ccebdef19743129997ab457a39","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e676b87-8f5b-4e6e-a0f8-8646b3ed34fd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.770402} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"107c98b4-33c4-4da5-a70c-2e940599ef28","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.7708025} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"3ff579ccebdef19743129997ab457a39","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.770781080Z"}]},"request_id":"753f5816-d8dc-4be3-bf50-19acf317d9b3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617028.778822} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3ff579ccebdef19743129997ab457a39","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3ff579ccebdef19743129997ab457a39"} gateway-1 | {"time_local":"02/Apr/2025:18:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ff579ccebdef19743129997ab457a39"} device-1 | {"level":"info","message":"POST /devices? 201 132ms","method":"POST","requestID":"3ff579ccebdef19743129997ab457a39","responseTime":132,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E","level":"info","message":"auth send jwt","requestID":"4a9f296ca73281e63becc93b2000e873"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4a9f296ca73281e63becc93b2000e873","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"4a9f296ca73281e63becc93b2000e873"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.912121,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:49Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E","level":"info","message":"auth send jwt","requestID":"c6829852d9e9b5652131b4ae9803e044"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c6829852d9e9b5652131b4ae9803e044","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4a9f296ca73281e63becc93b2000e873","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617029,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4a9f296ca73281e63becc93b2000e873","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c6829852d9e9b5652131b4ae9803e044"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.003985,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c6829852d9e9b5652131b4ae9803e044","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617029,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c6829852d9e9b5652131b4ae9803e044","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.661207955Z"}]},"request_id":"bad758fd-b15b-4939-9353-78bd0bcf8563","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617029.7628202} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4a9f296ca73281e63becc93b2000e873","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.770781080Z"}]},"request_id":"80195c9f-b338-4a51-85d1-86101d56e9b4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617029.7668583} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c6829852d9e9b5652131b4ae9803e044","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e9762b6-90d0-41ab-ae9d-392c19a373dc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617029.7693102} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4a9f296ca73281e63becc93b2000e873","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7acf3ee7-5acb-45a3-aff6-c70f7d06559b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617029.7725732} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"c6829852d9e9b5652131b4ae9803e044","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.661207955Z"}]},"request_id":"5675a008-5d42-493d-b304-a9eb22887666","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617029.8096702} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"4a9f296ca73281e63becc93b2000e873","responseTime":23,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"4a9f296ca73281e63becc93b2000e873"} gateway-1 | {"time_local":"02/Apr/2025:18:03:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b5adb372-46b4-4e17-9fe1-03162910364d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.089","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"4a9f296ca73281e63becc93b2000e873"} device-1 | {"level":"info","message":"PATCH /devices/b5adb372-46b4-4e17-9fe1-03162910364d 200 84ms","method":"PATCH","requestID":"4a9f296ca73281e63becc93b2000e873","responseTime":84,"status":200,"url":"/devices/b5adb372-46b4-4e17-9fe1-03162910364d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E","level":"info","message":"auth send jwt","requestID":"bed9395e7a1e0493494e6bdcc72574e2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bed9395e7a1e0493494e6bdcc72574e2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bed9395e7a1e0493494e6bdcc72574e2"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689266,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bed9395e7a1e0493494e6bdcc72574e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617029,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bed9395e7a1e0493494e6bdcc72574e2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.770781080Z"}]},"request_id":"354516e4-486e-4383-9e80-2bd85a6d32a8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617029.8211486} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c6829852d9e9b5652131b4ae9803e044","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c6829852d9e9b5652131b4ae9803e044"} gateway-1 | {"time_local":"02/Apr/2025:18:03:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.095","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"c6829852d9e9b5652131b4ae9803e044"} device-1 | {"level":"info","message":"PATCH /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc 200 91ms","method":"PATCH","requestID":"c6829852d9e9b5652131b4ae9803e044","responseTime":91,"status":200,"url":"/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E","level":"info","message":"auth send jwt","requestID":"ae9b88f73a897b1dc9f90b3e2d42343e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ae9b88f73a897b1dc9f90b3e2d42343e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ae9b88f73a897b1dc9f90b3e2d42343e"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:49Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bed9395e7a1e0493494e6bdcc72574e2"} gateway-1 | {"time_local":"02/Apr/2025:18:03:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b5adb372-46b4-4e17-9fe1-03162910364d/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.16","requestID":"bed9395e7a1e0493494e6bdcc72574e2"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761885,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:49Z"} device-1 | {"level":"info","message":"POST /devices/b5adb372-46b4-4e17-9fe1-03162910364d/websocket 200 15ms","method":"POST","requestID":"bed9395e7a1e0493494e6bdcc72574e2","responseTime":15,"status":200,"url":"/devices/b5adb372-46b4-4e17-9fe1-03162910364d/websocket"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ae9b88f73a897b1dc9f90b3e2d42343e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617029,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ae9b88f73a897b1dc9f90b3e2d42343e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ae9b88f73a897b1dc9f90b3e2d42343e"} gateway-1 | {"time_local":"02/Apr/2025:18:03:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"ae9b88f73a897b1dc9f90b3e2d42343e"} device-1 | {"level":"info","message":"POST /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc/websocket 200 45ms","method":"POST","requestID":"ae9b88f73a897b1dc9f90b3e2d42343e","responseTime":45,"status":200,"url":"/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E","level":"info","message":"auth send jwt","requestID":"60e0f8ed9a3a87541d45584afaa9f300"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"60e0f8ed9a3a87541d45584afaa9f300","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"60e0f8ed9a3a87541d45584afaa9f300"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.970915,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"60e0f8ed9a3a87541d45584afaa9f300","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617029,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"60e0f8ed9a3a87541d45584afaa9f300","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.661207955Z"}]},"request_id":"05f9ae29-bd59-44c4-8fd3-16aa2461e11d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617029.9191644} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"60e0f8ed9a3a87541d45584afaa9f300","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"60e0f8ed9a3a87541d45584afaa9f300"} device-1 | {"level":"info","message":"GET /devices/b5adb372-46b4-4e17-9fe1-03162910364d? 200 11ms","method":"GET","requestID":"60e0f8ed9a3a87541d45584afaa9f300","responseTime":11,"status":200,"url":"/devices/b5adb372-46b4-4e17-9fe1-03162910364d?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5adb372-46b4-4e17-9fe1-03162910364d? 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":"60e0f8ed9a3a87541d45584afaa9f300"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E","level":"info","message":"auth send jwt","requestID":"060a868d6d117a828be6b212fcd0d20d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"060a868d6d117a828be6b212fcd0d20d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"060a868d6d117a828be6b212fcd0d20d"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72291,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"060a868d6d117a828be6b212fcd0d20d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617029,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"060a868d6d117a828be6b212fcd0d20d","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.770781080Z"}]},"request_id":"7adf58e6-69c8-48c7-b541-0a6d6bfbec91","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617029.9573042} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"060a868d6d117a828be6b212fcd0d20d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"060a868d6d117a828be6b212fcd0d20d"} device-1 | {"level":"info","message":"GET /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc? 200 33ms","method":"GET","requestID":"060a868d6d117a828be6b212fcd0d20d","responseTime":33,"status":200,"url":"/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc? 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":"060a868d6d117a828be6b212fcd0d20d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E","level":"info","message":"auth send jwt","requestID":"32564882f03db6989d3655a1bb3fae8c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"32564882f03db6989d3655a1bb3fae8c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"32564882f03db6989d3655a1bb3fae8c"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.685343,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"32564882f03db6989d3655a1bb3fae8c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617029,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"32564882f03db6989d3655a1bb3fae8c","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Attempting to run experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Attempting to book experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Successfully booked experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d47d8620-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d47dad30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635956,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d47d8620-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617029,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d47d8620-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.655024,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d47dad30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617029,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d47dad30-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.661207955Z"}]},"request_id":"a7e79933-a73b-4230-9bb6-ddf44f7f29e2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.0497315} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"d47d8620-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.770781080Z"}]},"request_id":"c2c55c95-0233-41f5-b6c3-253aa0bab0a4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.0508542} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d47dad30-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d47d8620-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/b5adb372-46b4-4e17-9fe1-03162910364d? 200 36ms","method":"GET","requestID":"d47d8620-0fec-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/b5adb372-46b4-4e17-9fe1-03162910364d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d47dad30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc? 200 36ms","method":"GET","requestID":"d47dad30-0fec-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Setting up experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Successfully locked booking for experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Attempting to update booking for experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Successfully updated booking for experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Successfully set up experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d48c0510-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d48c2c20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d48c5330-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Successfully running experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.147957,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d48c0510-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617029,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d48c0510-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42892","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727319,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d48c2c20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617029,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"d48c2c20-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.66361,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3326d3d7-0344-448e-941e-1d97e2b0fc35","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.1215303} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d48c5330-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","object_type":"device","rebac_allow":false,"scope_allow":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":"d48c5330-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.661207955Z"}]},"request_id":"a8e58187-3998-4528-af3b-b99f5c6fe8af","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.1492107} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d48c0510-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.770781080Z"}]},"request_id":"43c6aa12-0dca-4e29-bc44-e89e6043ec25","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.1501899} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d48c2c20-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d48c5330-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b5adb372-46b4-4e17-9fe1-03162910364d/signaling 200 39ms","method":"POST","requestID":"d48c5330-0fec-11f0-b95a-67cf87457f46","responseTime":39,"status":200,"url":"/devices/b5adb372-46b4-4e17-9fe1-03162910364d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d48c0510-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/b5adb372-46b4-4e17-9fe1-03162910364d? 200 42ms","method":"GET","requestID":"d48c0510-0fec-11f0-b95a-67cf87457f46","responseTime":42,"status":200,"url":"/devices/b5adb372-46b4-4e17-9fe1-03162910364d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d49294c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d48c2c20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc? 200 44ms","method":"GET","requestID":"d48c2c20-0fec-11f0-b95a-67cf87457f46","responseTime":44,"status":200,"url":"/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc?"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fedba8cb-a202-4a8c-beca-6f63023c6dab","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.1618233} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d493a630-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.319048,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d49294c0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","object_type":"device","rebac_allow":false,"scope_allow":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":"d49294c0-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F52cab992-80e8-457d-a4bb-b4630f71e7a7#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F52cab992-80e8-457d-a4bb-b4630f71e7a7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"fcbf967b-ff0a-4143-9a4b-dd4bf9b7b2b4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.1642737} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78e1bb6a-768c-45ba-85ff-4a5ddefc74db","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.1646318} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d49294c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc/signaling 200 12ms","method":"POST","requestID":"d49294c0-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 73ms","method":"POST","requestID":"32564882f03db6989d3655a1bb3fae8c","responseTime":73,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78036311-cddd-43c9-8322-3bbdfc040801","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.1686108} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.245029,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d493a630-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","object_type":"device","rebac_allow":false,"scope_allow":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":"d493a630-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d493a630-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b5adb372-46b4-4e17-9fe1-03162910364d/signaling 200 35ms","method":"POST","requestID":"d493a630-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/b5adb372-46b4-4e17-9fe1-03162910364d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4994b80-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"32564882f03db6989d3655a1bb3fae8c"} gateway-1 | {"time_local":"02/Apr/2025:18:03:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.241","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32564882f03db6989d3655a1bb3fae8c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 238ms","method":"POST","requestID":"32564882f03db6989d3655a1bb3fae8c","responseTime":238,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1d4f18c-e7ee-4dd2-8eab-582f57f4a924","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.2048376} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.602221,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d4994b80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d4994b80-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzMH0.cXY0P_uTdwRQt-jtI8MAIV8HFq8Ihf3ZWlzR1noojjQ","level":"info","message":"auth send jwt","requestID":"1d55c8293282bfbf1445b8adc1007109"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1d55c8293282bfbf1445b8adc1007109","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4994b80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc/signaling 200 10ms","method":"POST","requestID":"d4994b80-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1d55c8293282bfbf1445b8adc1007109"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Building connection plan","requestID":"32564882f03db6989d3655a1bb3fae8c"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"44d9e003-c085-49bb-b765-7dce70dde5f1"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"af4a85f1-755f-4118-a2a2-003b80093b5a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"a84a851d-6b7b-43fc-94e6-09d66a1b4592"}]},"level":"info","message":"Built pairwise service configurations","requestID":"32564882f03db6989d3655a1bb3fae8c"} 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/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"32564882f03db6989d3655a1bb3fae8c"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:50Z"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d49b6e60-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934416,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1d55c8293282bfbf1445b8adc1007109","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617030,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzMH0.cXY0P_uTdwRQt-jtI8MAIV8HFq8Ihf3ZWlzR1noojjQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1d55c8293282bfbf1445b8adc1007109","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.654369,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d49b6e60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617029,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAyOX0.GpoZDtNORwx_otZ5m5HIp7wFrWOBunjJmwoGlsoQT_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"d49b6e60-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.661207955Z"}]},"request_id":"12712243-838f-4e30-bf15-c6bc62c68ff5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.243211} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d55c8293282bfbf1445b8adc1007109","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1d55c8293282bfbf1445b8adc1007109"} gateway-1 | {"time_local":"02/Apr/2025:18:03:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5adb372-46b4-4e17-9fe1-03162910364d? 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":"1d55c8293282bfbf1445b8adc1007109"} device-1 | {"level":"info","message":"GET /devices/b5adb372-46b4-4e17-9fe1-03162910364d? 200 37ms","method":"GET","requestID":"1d55c8293282bfbf1445b8adc1007109","responseTime":37,"status":200,"url":"/devices/b5adb372-46b4-4e17-9fe1-03162910364d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzMH0.cXY0P_uTdwRQt-jtI8MAIV8HFq8Ihf3ZWlzR1noojjQ","level":"info","message":"auth send jwt","requestID":"d944926a6bed612d47d2d5a05b00b8aa"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d944926a6bed612d47d2d5a05b00b8aa","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d944926a6bed612d47d2d5a05b00b8aa"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"26503f40-66b7-496c-9445-8463c57e727e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.2529876} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c450007-34b5-4bd2-91cc-28095414b03d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.2532957} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d49b6e60-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.737854,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d944926a6bed612d47d2d5a05b00b8aa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617030,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzMH0.cXY0P_uTdwRQt-jtI8MAIV8HFq8Ihf3ZWlzR1noojjQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d944926a6bed612d47d2d5a05b00b8aa","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:48.770781080Z"}]},"request_id":"d386985a-0178-4a00-80a7-9190ecf82c19","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.2598784} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d944926a6bed612d47d2d5a05b00b8aa","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d49b6e60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d49b6e60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00'","requestID":"d49b6e60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00'","requestID":"d49b6e60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d49b6e60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 76ms","method":"POST","requestID":"d49b6e60-0fec-11f0-b95a-67cf87457f46","responseTime":76,"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":"d944926a6bed612d47d2d5a05b00b8aa"} device-1 | {"level":"info","message":"GET /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc? 200 39ms","method":"GET","requestID":"d944926a6bed612d47d2d5a05b00b8aa","responseTime":39,"status":200,"url":"/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc? 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":"d944926a6bed612d47d2d5a05b00b8aa"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d49b6e60-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"32564882f03db6989d3655a1bb3fae8c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4aecf50-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18d1cc83-ed1e-41a2-9dac-174b7d7967fc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.3455818} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.373038,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d4aecf50-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d4aecf50-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4aecf50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b5adb372-46b4-4e17-9fe1-03162910364d/signaling 200 8ms","method":"POST","requestID":"d4aecf50-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/b5adb372-46b4-4e17-9fe1-03162910364d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4b055f0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe1691b4-0247-4822-a031-f8b1fab9c767","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617030.3553326} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.242422,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d4b055f0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d4b055f0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4b055f0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc/signaling 200 8ms","method":"POST","requestID":"d4b055f0-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc/signaling"} device-1 | {"device":"b5adb372-46b4-4e17-9fe1-03162910364d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"330d98b2-e3ca-4b72-a32b-5c85b8599f00","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"330d98b2-e3ca-4b72-a32b-5c85b8599f00","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"330d98b2-e3ca-4b72-a32b-5c85b8599f00","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8e8985f7ea0202299cfdde0bfbe4d7f8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8e8985f7ea0202299cfdde0bfbe4d7f8","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/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00"}}},"level":"info","message":"received a callback","requestID":"8e8985f7ea0202299cfdde0bfbe4d7f8"} device-1 | {"device":"b5adb372-46b4-4e17-9fe1-03162910364d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5adb372-46b4-4e17-9fe1-03162910364d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5adb372-46b4-4e17-9fe1-03162910364d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"8e8985f7ea0202299cfdde0bfbe4d7f8","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"8e8985f7ea0202299cfdde0bfbe4d7f8"} device-1 | {"data":{"peerconnection":"330d98b2-e3ca-4b72-a32b-5c85b8599f00","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5adb372-46b4-4e17-9fe1-03162910364d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5adb372-46b4-4e17-9fe1-03162910364d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"330d98b2-e3ca-4b72-a32b-5c85b8599f00","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/330d98b2-e3ca-4b72-a32b-5c85b8599f00' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"330d98b2-e3ca-4b72-a32b-5c85b8599f00","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:52Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d5e70130-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F330d98b2-e3ca-4b72-a32b-5c85b8599f00","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f24499ab-be0f-4e8d-a13a-cfc49924513f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.3923538} 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/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00"}}},"level":"info","message":"received a callback","requestID":"3497d132eab9f832910925a248361cab"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3497d132eab9f832910925a248361cab","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d5e70130-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.888092,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:52Z"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3497d132eab9f832910925a248361cab","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00 200 9ms","method":"GET","requestID":"d5e70130-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d5e70130-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00","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":"d5e70130-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"3497d132eab9f832910925a248361cab","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"3497d132eab9f832910925a248361cab"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d5eb9510-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6b444d1-d1d3-4864-ac37-5c946a0b2c73","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.4222217} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.849405,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d5eb9510-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d5eb9510-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d5eb9510-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc/signaling 200 33ms","method":"POST","requestID":"d5eb9510-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d5f0ec40-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5989e573-fe32-42ea-937c-134055b398a0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.4570968} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.010265,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d5f0ec40-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d5f0ec40-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d5f0ec40-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b5adb372-46b4-4e17-9fe1-03162910364d/signaling 200 10ms","method":"POST","requestID":"d5f0ec40-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/b5adb372-46b4-4e17-9fe1-03162910364d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzMn0.2Lavc76tIFDJsAbTKZZQECh8alcEw_NnnTWK4LXUGHQ","level":"info","message":"auth send jwt","requestID":"77dc6722b2d5a1c68a76dfe150a5e746"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"77dc6722b2d5a1c68a76dfe150a5e746","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7","requestID":"77dc6722b2d5a1c68a76dfe150a5e746"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.847657,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"77dc6722b2d5a1c68a76dfe150a5e746","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617032,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzMn0.2Lavc76tIFDJsAbTKZZQECh8alcEw_NnnTWK4LXUGHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"77dc6722b2d5a1c68a76dfe150a5e746","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7","requestID":"77dc6722b2d5a1c68a76dfe150a5e746"} gateway-1 | {"time_local":"02/Apr/2025:18:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7 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":"77dc6722b2d5a1c68a76dfe150a5e746"} experiment-1 | {"level":"info","message":"GET /experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7 200 10ms","method":"GET","requestID":"77dc6722b2d5a1c68a76dfe150a5e746","responseTime":10,"status":200,"url":"/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzMn0.2Lavc76tIFDJsAbTKZZQECh8alcEw_NnnTWK4LXUGHQ","level":"info","message":"auth send jwt","requestID":"b7ffb1532daae48173504a6bbaae7620"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b7ffb1532daae48173504a6bbaae7620","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7","requestID":"b7ffb1532daae48173504a6bbaae7620"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.729868,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b7ffb1532daae48173504a6bbaae7620","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617032,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzMn0.2Lavc76tIFDJsAbTKZZQECh8alcEw_NnnTWK4LXUGHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b7ffb1532daae48173504a6bbaae7620","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Attempting to finish experiment","requestID":"b7ffb1532daae48173504a6bbaae7620"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d60cd8b0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.767732,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d60cd8b0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617032,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzMn0.2Lavc76tIFDJsAbTKZZQECh8alcEw_NnnTWK4LXUGHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d60cd8b0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5adb372-46b4-4e17-9fe1-03162910364d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5adb372-46b4-4e17-9fe1-03162910364d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5adb372-46b4-4e17-9fe1-03162910364d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"330d98b2-e3ca-4b72-a32b-5c85b8599f00","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F330d98b2-e3ca-4b72-a32b-5c85b8599f00': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F330d98b2-e3ca-4b72-a32b-5c85b8599f00","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"8899a30c-b318-4ac8-a66b-991a98d62eab","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.6546073} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc2d3581-9d7a-4547-993f-e5975306c7cb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.6548283} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"992be802ed3a3cf3367953765f9a02d0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"992be802ed3a3cf3367953765f9a02d0","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"d60cd8b0-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"de9770f5b7d70bbe9ea41e0075928f54","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"de9770f5b7d70bbe9ea41e0075928f54","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00"}}},"level":"info","message":"received a callback","requestID":"992be802ed3a3cf3367953765f9a02d0"} 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/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00"}}},"level":"info","message":"received a callback","requestID":"de9770f5b7d70bbe9ea41e0075928f54"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d60cd8b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00 204 61ms","method":"DELETE","requestID":"d60cd8b0-0fec-11f0-b95a-67cf87457f46","responseTime":61,"status":204,"url":"/peerconnections/330d98b2-e3ca-4b72-a32b-5c85b8599f00"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"},"level":"info","message":"Successfully finished experiment","requestID":"b7ffb1532daae48173504a6bbaae7620"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6189880-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4440936-b9c2-49ef-a110-589b60232c79","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.740961} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.518087,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d6189880-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d6189880-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6189880-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc/signaling 200 33ms","method":"POST","requestID":"d6189880-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d61defb0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F52cab992-80e8-457d-a4bb-b4630f71e7a7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F52cab992-80e8-457d-a4bb-b4630f71e7a7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"52a328de-42ad-4771-964e-501c088328c7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.7480366} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2fb9ab4-f38e-4857-a6a1-23cc0ace21ae","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.7484078} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"b7ffb1532daae48173504a6bbaae7620","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5adb372-46b4-4e17-9fe1-03162910364d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96161789-b815-44bb-ab78-19f797cb141b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.752102} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.553523,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d61defb0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d61defb0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d61defb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b5adb372-46b4-4e17-9fe1-03162910364d/signaling 200 9ms","method":"POST","requestID":"d61defb0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/b5adb372-46b4-4e17-9fe1-03162910364d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7","requestID":"b7ffb1532daae48173504a6bbaae7620"} gateway-1 | {"time_local":"02/Apr/2025:18:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7 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":"b7ffb1532daae48173504a6bbaae7620"} experiment-1 | {"level":"info","message":"DELETE /experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7 204 236ms","method":"DELETE","requestID":"b7ffb1532daae48173504a6bbaae7620","responseTime":236,"status":204,"url":"/experiments/52cab992-80e8-457d-a4bb-b4630f71e7a7"} gateway-1 | {"time_local":"02/Apr/2025:18:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2146","request_time":"3.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"b96123bb692b4e1c3f72d3d00f33bd81"} gateway-1 | {"time_local":"02/Apr/2025:18:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2146","request_time":"2.987","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"5c9ba246396879e2d3611a4b38b5bd53"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 208ms","method":"POST","requestID":"992be802ed3a3cf3367953765f9a02d0","responseTime":208,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.210","http_referrer":"","http_user_agent":"node-fetch","requestID":"992be802ed3a3cf3367953765f9a02d0"} gateway-1 | {"time_local":"02/Apr/2025:18:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.210","http_referrer":"","http_user_agent":"node-fetch","requestID":"de9770f5b7d70bbe9ea41e0075928f54"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 207ms","method":"POST","requestID":"de9770f5b7d70bbe9ea41e0075928f54","responseTime":207,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzMn0.2Lavc76tIFDJsAbTKZZQECh8alcEw_NnnTWK4LXUGHQ","level":"info","message":"auth send jwt","requestID":"69660036894555e48db77f8226ca98f3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"69660036894555e48db77f8226ca98f3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"69660036894555e48db77f8226ca98f3"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b5adb372-46b4-4e17-9fe1-03162910364d' closed"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.789809,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"69660036894555e48db77f8226ca98f3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617032,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzMn0.2Lavc76tIFDJsAbTKZZQECh8alcEw_NnnTWK4LXUGHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"69660036894555e48db77f8226ca98f3","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/25ad0eb5-a5c8-43c8-bb84-edf6b2f3a7bc' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6a49b68c-474a-49b6-9485-f5f47edbf312","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.9080021} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"69660036894555e48db77f8226ca98f3","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b847d47-d88b-4c9e-a853-ec98d761c371","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.9128704} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"69660036894555e48db77f8226ca98f3","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"030ac2cf-055c-41fa-811c-e9c3531b73bc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.9221432} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f09aee6-00da-47c6-9b3c-672078a4eee8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.922248} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"69660036894555e48db77f8226ca98f3","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:52.922116977Z"}]},"request_id":"51ec3423-19ff-4692-bdba-1a2acc6732ae","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.9265635} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"69660036894555e48db77f8226ca98f3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"69660036894555e48db77f8226ca98f3"} gateway-1 | {"time_local":"02/Apr/2025:18:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69660036894555e48db77f8226ca98f3"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"69660036894555e48db77f8226ca98f3","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzMn0.2Lavc76tIFDJsAbTKZZQECh8alcEw_NnnTWK4LXUGHQ","level":"info","message":"auth send jwt","requestID":"bd488d8c38bc66f1a9d4a2d4afe89091"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd488d8c38bc66f1a9d4a2d4afe89091","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bd488d8c38bc66f1a9d4a2d4afe89091"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.843379,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bd488d8c38bc66f1a9d4a2d4afe89091","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617032,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzMn0.2Lavc76tIFDJsAbTKZZQECh8alcEw_NnnTWK4LXUGHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bd488d8c38bc66f1a9d4a2d4afe89091","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6cc97fca-736a-42ce-8ab9-c3ca7595a0d4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.9793952} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bd488d8c38bc66f1a9d4a2d4afe89091","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed718e99-c1dd-43c2-acd6-6ea6614c37b0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.9830856} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"bd488d8c38bc66f1a9d4a2d4afe89091","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"33bfc254-217c-44b4-9d0f-199a4b86ec58","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.9957407} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8f92706-05d7-4606-a3c0-2d77f06ed0b9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.995806} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"bd488d8c38bc66f1a9d4a2d4afe89091","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:52.995723282Z"}]},"request_id":"d1488999-3012-4473-99e9-f6a21e06a6b5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617032.9996023} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bd488d8c38bc66f1a9d4a2d4afe89091","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bd488d8c38bc66f1a9d4a2d4afe89091"} gateway-1 | {"time_local":"02/Apr/2025:18:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd488d8c38bc66f1a9d4a2d4afe89091"} device-1 | {"level":"info","message":"POST /devices? 201 91ms","method":"POST","requestID":"bd488d8c38bc66f1a9d4a2d4afe89091","responseTime":91,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2cced4982268036728ca8cbdd7d53226","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2cced4982268036728ca8cbdd7d53226","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:03:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/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":"2cced4982268036728ca8cbdd7d53226"} device-1 | {"level":"info","message":"OPTIONS /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/websocket 200 1ms","method":"OPTIONS","requestID":"2cced4982268036728ca8cbdd7d53226","responseTime":1,"status":200,"url":"/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY","level":"info","message":"auth send jwt","requestID":"746c4906db10f5888ffb2ea5ac7ae991"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"746c4906db10f5888ffb2ea5ac7ae991","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"746c4906db10f5888ffb2ea5ac7ae991"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.308928,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"746c4906db10f5888ffb2ea5ac7ae991","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617035,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"746c4906db10f5888ffb2ea5ac7ae991","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"746c4906db10f5888ffb2ea5ac7ae991"} gateway-1 | {"time_local":"02/Apr/2025:18:03:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/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":"746c4906db10f5888ffb2ea5ac7ae991"} device-1 | {"level":"info","message":"POST /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/websocket 200 40ms","method":"POST","requestID":"746c4906db10f5888ffb2ea5ac7ae991","responseTime":40,"status":200,"url":"/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cdefb454e2b9f5a950c46c17c6537a19","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cdefb454e2b9f5a950c46c17c6537a19","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:03:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8537457a-bb73-452c-9140-caaa29945e29/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":"cdefb454e2b9f5a950c46c17c6537a19"} device-1 | {"level":"info","message":"OPTIONS /devices/8537457a-bb73-452c-9140-caaa29945e29/websocket 200 1ms","method":"OPTIONS","requestID":"cdefb454e2b9f5a950c46c17c6537a19","responseTime":1,"status":200,"url":"/devices/8537457a-bb73-452c-9140-caaa29945e29/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY","level":"info","message":"auth send jwt","requestID":"1835fe1db7d929c39c038e4825c1ac7c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1835fe1db7d929c39c038e4825c1ac7c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1835fe1db7d929c39c038e4825c1ac7c"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.783591,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1835fe1db7d929c39c038e4825c1ac7c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617035,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1835fe1db7d929c39c038e4825c1ac7c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1835fe1db7d929c39c038e4825c1ac7c"} gateway-1 | {"time_local":"02/Apr/2025:18:03:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8537457a-bb73-452c-9140-caaa29945e29/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1835fe1db7d929c39c038e4825c1ac7c"} device-1 | {"level":"info","message":"POST /devices/8537457a-bb73-452c-9140-caaa29945e29/websocket 200 43ms","method":"POST","requestID":"1835fe1db7d929c39c038e4825c1ac7c","responseTime":43,"status":200,"url":"/devices/8537457a-bb73-452c-9140-caaa29945e29/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY","level":"info","message":"auth send jwt","requestID":"8fcff8c27d44f1161dc02e090e34f7ae"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8fcff8c27d44f1161dc02e090e34f7ae","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8fcff8c27d44f1161dc02e090e34f7ae"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.861265,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"8fcff8c27d44f1161dc02e090e34f7ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617035,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8fcff8c27d44f1161dc02e090e34f7ae","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:52.922116977Z"}]},"request_id":"f50213c2-2869-4a3d-9928-92f23f830451","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.5334082} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8fcff8c27d44f1161dc02e090e34f7ae","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8fcff8c27d44f1161dc02e090e34f7ae"} device-1 | {"level":"info","message":"GET /devices/8537457a-bb73-452c-9140-caaa29945e29? 200 10ms","method":"GET","requestID":"8fcff8c27d44f1161dc02e090e34f7ae","responseTime":10,"status":200,"url":"/devices/8537457a-bb73-452c-9140-caaa29945e29?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8537457a-bb73-452c-9140-caaa29945e29? 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":"8fcff8c27d44f1161dc02e090e34f7ae"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY","level":"info","message":"auth send jwt","requestID":"13b0535899c433b1e34d7c1f337db7a1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"13b0535899c433b1e34d7c1f337db7a1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"13b0535899c433b1e34d7c1f337db7a1"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.019726,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"13b0535899c433b1e34d7c1f337db7a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617035,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"13b0535899c433b1e34d7c1f337db7a1","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:52.995723282Z"}]},"request_id":"b663ad87-133b-4399-a0fd-9600fe859b53","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.5733573} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"13b0535899c433b1e34d7c1f337db7a1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"13b0535899c433b1e34d7c1f337db7a1"} gateway-1 | {"time_local":"02/Apr/2025:18:03:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24? 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":"13b0535899c433b1e34d7c1f337db7a1"} device-1 | {"level":"info","message":"GET /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24? 200 35ms","method":"GET","requestID":"13b0535899c433b1e34d7c1f337db7a1","responseTime":35,"status":200,"url":"/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY","level":"info","message":"auth send jwt","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.850415,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7d2b5b379da3ee489dccfa19e7b00a9b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617035,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Attempting to run experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Attempting to book experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Successfully booked experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7d7ada0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7d7fbc0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768975,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d7d7ada0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617035,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"d7d7ada0-0fec-11f0-b95a-67cf87457f46","responseTime":23,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.902224,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d7d7fbc0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617035,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d7d7fbc0-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:52.922116977Z"}]},"request_id":"9ed2f720-a6c8-47c8-9f60-a7ba38ae137e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.6722097} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7d7ada0-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:52.995723282Z"}]},"request_id":"1708d7e0-0d34-451d-8797-d862d661c15d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.6759884} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7d7ada0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7d7fbc0-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/8537457a-bb73-452c-9140-caaa29945e29? 200 35ms","method":"GET","requestID":"d7d7ada0-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/8537457a-bb73-452c-9140-caaa29945e29?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7d7fbc0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24? 200 36ms","method":"GET","requestID":"d7d7fbc0-0fec-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Setting up experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Successfully locked booking for experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Attempting to update booking for experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Successfully updated booking for experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Successfully set up experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7ec4710-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7ec6e20-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Successfully running experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7ecbc40-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.535668,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d7ec4710-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617035,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d7ec4710-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:52.922116977Z"}]},"request_id":"0fe85781-b6e5-4f34-8dff-53f955cf4e5b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.7877898} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe9506cc-7f6a-4bbd-be8b-987d535d121e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.78799} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d7ec4710-0fec-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.584548,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897624,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d7ecbc40-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","object_type":"device","rebac_allow":false,"scope_allow":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":"d7ecbc40-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d7ec6e20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617035,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"d7ec6e20-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7ec4710-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/8537457a-bb73-452c-9140-caaa29945e29? 200 40ms","method":"GET","requestID":"d7ec4710-0fec-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/devices/8537457a-bb73-452c-9140-caaa29945e29?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7ecbc40-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8537457a-bb73-452c-9140-caaa29945e29/signaling 200 41ms","method":"POST","requestID":"d7ecbc40-0fec-11f0-b95a-67cf87457f46","responseTime":41,"status":200,"url":"/devices/8537457a-bb73-452c-9140-caaa29945e29/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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:52.995723282Z"}]},"request_id":"ac1dd3f5-8c9e-4208-8866-b4d09234b503","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.8209076} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d7ec6e20-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3e3b14c-d069-46a8-8ed6-f6785093f8bd#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3e3b14c-d069-46a8-8ed6-f6785093f8bd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"4e8ec876-8b5e-4a26-84e8-f18c6ed40713","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.822997} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7f34bf0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1ca1fd3-2755-480a-a05d-c1b8e8f123a2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.8233063} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7ec6e20-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5dfb243e-7e77-49a6-9fa1-f2226d744287","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.8291473} device-1 | {"level":"info","message":"GET /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24? 200 51ms","method":"GET","requestID":"d7ec6e20-0fec-11f0-b95a-67cf87457f46","responseTime":51,"status":200,"url":"/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24?"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.014786,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d7f34bf0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","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/a3e3b14c-d069-46a8-8ed6-f6785093f8bd","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"d7f34bf0-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7f87c10-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"level":"info","message":"POST /experiments? 201 277ms","method":"POST","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b","responseTime":277,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:18:03:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.280","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7f34bf0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/signaling 200 38ms","method":"POST","requestID":"d7f34bf0-0fec-11f0-b95a-67cf87457f46","responseTime":38,"status":200,"url":"/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4871199a-955a-4355-9956-db2063f0da49","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.8621445} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY","level":"info","message":"auth send jwt","requestID":"7b76caa21a98bc0da72e3554f3aa9bea"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.100813,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7b76caa21a98bc0da72e3554f3aa9bea","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7b76caa21a98bc0da72e3554f3aa9bea"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d7f87c10-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d7f87c10-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7f87c10-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877645,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} device-1 | {"level":"info","message":"POST /devices/8537457a-bb73-452c-9140-caaa29945e29/signaling 200 10ms","method":"POST","requestID":"d7f87c10-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/8537457a-bb73-452c-9140-caaa29945e29/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7fa50d0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7b76caa21a98bc0da72e3554f3aa9bea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617035,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7b76caa21a98bc0da72e3554f3aa9bea","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:52.922116977Z"}]},"request_id":"087891e2-3a5a-4c05-96ba-458d40c1c0f3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.872987} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71d9eaf9-ed30-45d6-ba1a-08844f0797f8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.8731132} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7b76caa21a98bc0da72e3554f3aa9bea","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.696382,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d7fa50d0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d7fa50d0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7b76caa21a98bc0da72e3554f3aa9bea"} gateway-1 | {"time_local":"02/Apr/2025:18:03:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8537457a-bb73-452c-9140-caaa29945e29? 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":"7b76caa21a98bc0da72e3554f3aa9bea"} device-1 | {"level":"info","message":"GET /devices/8537457a-bb73-452c-9140-caaa29945e29? 200 15ms","method":"GET","requestID":"7b76caa21a98bc0da72e3554f3aa9bea","responseTime":15,"status":200,"url":"/devices/8537457a-bb73-452c-9140-caaa29945e29?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7fa50d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/signaling 200 9ms","method":"POST","requestID":"d7fa50d0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Building connection plan","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} 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":"34e279d6-fa3c-4b58-ad6f-5110581c88f9"},{"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":"4d0db76a-c170-46a6-bcb2-589e6ecb508f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"2ba4f00b-24f0-4217-9c1f-404785a1346d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} 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/1f06983d-2a29-47de-a0c3-4e85e6189d24"},{"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/8537457a-bb73-452c-9140-caaa29945e29"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.632862,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d7ffcf10-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY","level":"info","message":"auth send jwt","requestID":"ed3d6a44035805cc9e50886c7cbaa73f"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"ed3d6a44035805cc9e50886c7cbaa73f","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:55Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ed3d6a44035805cc9e50886c7cbaa73f"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d7ffcf10-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617035,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d7ffcf10-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62536,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ed3d6a44035805cc9e50886c7cbaa73f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617035,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNX0.5wjeRySB4eXNaCE-vTyYD4mz9LLmv9cOsiDBEnFfMSY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ed3d6a44035805cc9e50886c7cbaa73f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:52.995723282Z"}]},"request_id":"b99b230a-7403-43c2-bc7e-166e508eb7a5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.9140189} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ed3d6a44035805cc9e50886c7cbaa73f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ed3d6a44035805cc9e50886c7cbaa73f"} gateway-1 | {"time_local":"02/Apr/2025:18:03:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24? 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":"ed3d6a44035805cc9e50886c7cbaa73f"} device-1 | {"level":"info","message":"GET /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24? 200 11ms","method":"GET","requestID":"ed3d6a44035805cc9e50886c7cbaa73f","responseTime":11,"status":200,"url":"/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"4512883e-de28-4d4b-8d0a-70c8b01526b9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.9184785} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2367d8e6-dbf1-4297-934b-d5600f61a194","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617035.9187446} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d7ffcf10-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d7ffcf10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d7ffcf10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769'","requestID":"d7ffcf10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769'","requestID":"d7ffcf10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d7ffcf10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 53ms","method":"POST","requestID":"d7ffcf10-0fec-11f0-b95a-67cf87457f46","responseTime":53,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d7ffcf10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769","device":"8537457a-bb73-452c-9140-caaa29945e29","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/142aad0b-1d8f-4a63-b373-0b1df5b37769","device":"1f06983d-2a29-47de-a0c3-4e85e6189d24","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/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"7d2b5b379da3ee489dccfa19e7b00a9b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d81049d0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"efd1d323-d042-46ca-b4ab-8cc1bebf0bf4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.0179327} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.558,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d81049d0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","object_type":"device","rebac_allow":false,"scope_allow":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":"d81049d0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d81049d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8537457a-bb73-452c-9140-caaa29945e29/signaling 200 9ms","method":"POST","requestID":"d81049d0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/8537457a-bb73-452c-9140-caaa29945e29/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d811f780-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:56Z"} device-1 | {"device":"8537457a-bb73-452c-9140-caaa29945e29","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"8537457a-bb73-452c-9140-caaa29945e29","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77edd1e0-8778-4d20-afa8-dacf5965f8eb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.057075} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.345455,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d811f780-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d811f780-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"1f06983d-2a29-47de-a0c3-4e85e6189d24","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1f06983d-2a29-47de-a0c3-4e85e6189d24","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d811f780-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/signaling 200 40ms","method":"POST","requestID":"d811f780-0fec-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 6421292794485778379 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:tPBy\r\na=ice-pwd:8qME+IGsH3ImueZn2ZAiJwci\r\na=ice-options:trickle\r\na=fingerprint:sha-256 FA:A1:6C:2F:65:2B:06:24:1D:E6:CB:2A:F2:3B:15:DC:B7:46:9E:EB:BB:28:94:9C:17:04:FA:AF:CD:CD:62:6A\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"8537457a-bb73-452c-9140-caaa29945e29","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 2943090681847682506 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:cCO/\r\na=ice-pwd:kyRyh6p1miPljMWK/pPKstR+\r\na=ice-options:trickle\r\na=fingerprint:sha-256 78:EC:63:7C:40:F2:17:6E:0B:BA:80:06:F8:A2:5B:49:56:E7:3E:70:AB:75:42:6D:78:A9:A8:E8:3D:77:DC:66\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"1f06983d-2a29-47de-a0c3-4e85e6189d24","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3879368438 1 udp 2113937151 c550330e-565c-49c4-9e53-359a5909fde2.local 56789 typ host generation 0 ufrag cCO/ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1f06983d-2a29-47de-a0c3-4e85e6189d24","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/1f06983d-2a29-47de-a0c3-4e85e6189d24'"} device-1 | {"content":{"candidate":"candidate:2624854662 1 udp 2113937151 a247c03c-7649-4d81-88e5-8a1e2bb6e4a9.local 45194 typ host generation 0 ufrag tPBy network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8537457a-bb73-452c-9140-caaa29945e29","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"8537457a-bb73-452c-9140-caaa29945e29","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/142aad0b-1d8f-4a63-b373-0b1df5b37769' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"142aad0b-1d8f-4a63-b373-0b1df5b37769","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"360f0192f6ec7f0a38bbc8659472395f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"1f06983d-2a29-47de-a0c3-4e85e6189d24","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"1f06983d-2a29-47de-a0c3-4e85e6189d24","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"8537457a-bb73-452c-9140-caaa29945e29","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"360f0192f6ec7f0a38bbc8659472395f","responseTime":25,"status":200,"url":"/auth"} device-1 | {"device":"1f06983d-2a29-47de-a0c3-4e85e6189d24","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/1f06983d-2a29-47de-a0c3-4e85e6189d24"},{"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/8537457a-bb73-452c-9140-caaa29945e29"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769"}}},"level":"info","message":"received a callback","requestID":"360f0192f6ec7f0a38bbc8659472395f"} device-1 | {"device":"8537457a-bb73-452c-9140-caaa29945e29","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"360f0192f6ec7f0a38bbc8659472395f","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"360f0192f6ec7f0a38bbc8659472395f"} device-1 | {"device":"1f06983d-2a29-47de-a0c3-4e85e6189d24","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"142aad0b-1d8f-4a63-b373-0b1df5b37769","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"142aad0b-1d8f-4a63-b373-0b1df5b37769","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/142aad0b-1d8f-4a63-b373-0b1df5b37769' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"142aad0b-1d8f-4a63-b373-0b1df5b37769","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9a3b61a3c46c5564dac2b740bf2238c9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9a3b61a3c46c5564dac2b740bf2238c9","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/1f06983d-2a29-47de-a0c3-4e85e6189d24"},{"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/8537457a-bb73-452c-9140-caaa29945e29"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769"}}},"level":"info","message":"received a callback","requestID":"9a3b61a3c46c5564dac2b740bf2238c9"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d8336230-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F142aad0b-1d8f-4a63-b373-0b1df5b37769","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da408522-24ce-4229-a01d-f8d2215570d1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.2475398} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.294165,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d8336230-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769","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":"d8336230-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d8336230-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769 200 8ms","method":"GET","requestID":"d8336230-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNn0.dBR2XTG0noCuh9_fSerQJvJyDvu8zm7jCVtdQ4a4urw","level":"info","message":"auth send jwt","requestID":"b0bab43c61550a79f8097b974444975d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b0bab43c61550a79f8097b974444975d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 78ms","method":"POST","requestID":"9a3b61a3c46c5564dac2b740bf2238c9","responseTime":78,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.082","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a3b61a3c46c5564dac2b740bf2238c9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d83b0350-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd","requestID":"b0bab43c61550a79f8097b974444975d"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e92eeca1-9a25-47f3-8155-8050f68024a1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.2981076} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.329236,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b0bab43c61550a79f8097b974444975d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617036,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNn0.dBR2XTG0noCuh9_fSerQJvJyDvu8zm7jCVtdQ4a4urw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b0bab43c61550a79f8097b974444975d","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.351686,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d83b0350-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","object_type":"device","rebac_allow":false,"scope_allow":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":"d83b0350-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d83b0350-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/signaling 200 12ms","method":"POST","requestID":"d83b0350-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd","requestID":"b0bab43c61550a79f8097b974444975d"} experiment-1 | {"level":"info","message":"GET /experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd 200 12ms","method":"GET","requestID":"b0bab43c61550a79f8097b974444975d","responseTime":12,"status":200,"url":"/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"} gateway-1 | {"time_local":"02/Apr/2025:18:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b0bab43c61550a79f8097b974444975d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d83d4d40-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNn0.dBR2XTG0noCuh9_fSerQJvJyDvu8zm7jCVtdQ4a4urw","level":"info","message":"auth send jwt","requestID":"ecea8efe68bd6fef37ec6700560f5847"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:56Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ecea8efe68bd6fef37ec6700560f5847","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd","requestID":"ecea8efe68bd6fef37ec6700560f5847"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a68dcc1-903e-44e5-b5a2-b28c05974f69","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.3124146} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.894319,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d83d4d40-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","object_type":"device","rebac_allow":false,"scope_allow":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":"d83d4d40-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.741078,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ecea8efe68bd6fef37ec6700560f5847","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617036,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNn0.dBR2XTG0noCuh9_fSerQJvJyDvu8zm7jCVtdQ4a4urw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ecea8efe68bd6fef37ec6700560f5847","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d83d4d40-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8537457a-bb73-452c-9140-caaa29945e29/signaling 200 34ms","method":"POST","requestID":"d83d4d40-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/8537457a-bb73-452c-9140-caaa29945e29/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Attempting to finish experiment","requestID":"ecea8efe68bd6fef37ec6700560f5847"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d84319a0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.697449,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d84319a0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617036,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNn0.dBR2XTG0noCuh9_fSerQJvJyDvu8zm7jCVtdQ4a4urw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d84319a0-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769","device":"1f06983d-2a29-47de-a0c3-4e85e6189d24","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769","device":"8537457a-bb73-452c-9140-caaa29945e29","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/142aad0b-1d8f-4a63-b373-0b1df5b37769' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"142aad0b-1d8f-4a63-b373-0b1df5b37769","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b1e72aef4ccb8466aa4ea9d8b4a5ab9e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b1e72aef4ccb8466aa4ea9d8b4a5ab9e","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"77a09bba4794108ca7063b7ff619027d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F142aad0b-1d8f-4a63-b373-0b1df5b37769': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F142aad0b-1d8f-4a63-b373-0b1df5b37769","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"80a37bbf-f90a-4d9f-95a9-c48246b1daef","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.3627572} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53736739-30e4-4246-bf02-25762b3751f2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.362766} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"77a09bba4794108ca7063b7ff619027d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24"},{"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/8537457a-bb73-452c-9140-caaa29945e29"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769"}}},"level":"info","message":"received a callback","requestID":"b1e72aef4ccb8466aa4ea9d8b4a5ab9e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"d84319a0-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/1f06983d-2a29-47de-a0c3-4e85e6189d24"},{"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/8537457a-bb73-452c-9140-caaa29945e29"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769"}}},"level":"info","message":"received a callback","requestID":"77a09bba4794108ca7063b7ff619027d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d84319a0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769 204 60ms","method":"DELETE","requestID":"d84319a0-0fec-11f0-b95a-67cf87457f46","responseTime":60,"status":204,"url":"/peerconnections/142aad0b-1d8f-4a63-b373-0b1df5b37769"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"},"level":"info","message":"Successfully finished experiment","requestID":"ecea8efe68bd6fef37ec6700560f5847"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d8525be0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f06983d-2a29-47de-a0c3-4e85e6189d24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ee2a3dc-a788-40e1-9b76-ef8d9b9a743e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.4512095} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.734085,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d8525be0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d8525be0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d8525be0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/signaling 200 9ms","method":"POST","requestID":"d8525be0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d857b310-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3e3b14c-d069-46a8-8ed6-f6785093f8bd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3e3b14c-d069-46a8-8ed6-f6785093f8bd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"9b6c4629-aba0-46c1-9db6-c0d503170bf8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.460642} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ae6af6a-8327-45af-92a3-42ead4586372","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.460713} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"ecea8efe68bd6fef37ec6700560f5847","responseTime":46,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8537457a-bb73-452c-9140-caaa29945e29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24579b95-41bd-4d75-816e-beeed68d9653","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.4926574} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.900551,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d857b310-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d857b310-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d857b310-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8537457a-bb73-452c-9140-caaa29945e29/signaling 200 17ms","method":"POST","requestID":"d857b310-0fec-11f0-b95a-67cf87457f46","responseTime":17,"status":200,"url":"/devices/8537457a-bb73-452c-9140-caaa29945e29/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd","requestID":"ecea8efe68bd6fef37ec6700560f5847"} gateway-1 | {"time_local":"02/Apr/2025:18:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.287","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ecea8efe68bd6fef37ec6700560f5847"} experiment-1 | {"level":"info","message":"DELETE /experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd 204 285ms","method":"DELETE","requestID":"ecea8efe68bd6fef37ec6700560f5847","responseTime":285,"status":204,"url":"/experiments/a3e3b14c-d069-46a8-8ed6-f6785093f8bd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 235ms","method":"POST","requestID":"b1e72aef4ccb8466aa4ea9d8b4a5ab9e","responseTime":235,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch","requestID":"b1e72aef4ccb8466aa4ea9d8b4a5ab9e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 234ms","method":"POST","requestID":"77a09bba4794108ca7063b7ff619027d","responseTime":234,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch","requestID":"77a09bba4794108ca7063b7ff619027d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNn0.dBR2XTG0noCuh9_fSerQJvJyDvu8zm7jCVtdQ4a4urw","level":"info","message":"auth send jwt","requestID":"9874528e23785b42365f01ff9ed48f1d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9874528e23785b42365f01ff9ed48f1d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9874528e23785b42365f01ff9ed48f1d"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.688857,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"9874528e23785b42365f01ff9ed48f1d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617036,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNn0.dBR2XTG0noCuh9_fSerQJvJyDvu8zm7jCVtdQ4a4urw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9874528e23785b42365f01ff9ed48f1d","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:18:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"1.141","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3d948dd21642fb7917b94920e9568820"} gateway-1 | {"time_local":"02/Apr/2025:18:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"1.194","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"91a9188244d92ca99cd044c82fc92a59"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1f06983d-2a29-47de-a0c3-4e85e6189d24' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8537457a-bb73-452c-9140-caaa29945e29' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"58f93d33-9824-4682-9fa0-3d90991ab80d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.6899512} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9874528e23785b42365f01ff9ed48f1d","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d5562152-ef51-443c-9d5e-823962ce8a32","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.69479} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9874528e23785b42365f01ff9ed48f1d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"46b6af6c-b8cb-4ca3-a511-99ca8642e3ed","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.7316327} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16a8892d-274b-493e-bad9-92f1e83fbfee","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.731783} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"9874528e23785b42365f01ff9ed48f1d","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:56.731609367Z"}]},"request_id":"59157c9a-fff6-44cc-a218-b31d4b7c5a13","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.735779} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9874528e23785b42365f01ff9ed48f1d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9874528e23785b42365f01ff9ed48f1d"} gateway-1 | {"time_local":"02/Apr/2025:18:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9874528e23785b42365f01ff9ed48f1d"} device-1 | {"level":"info","message":"POST /devices? 201 112ms","method":"POST","requestID":"9874528e23785b42365f01ff9ed48f1d","responseTime":112,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNn0.dBR2XTG0noCuh9_fSerQJvJyDvu8zm7jCVtdQ4a4urw","level":"info","message":"auth send jwt","requestID":"d8da58d88a992eefa24c9a2fe826e514"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d8da58d88a992eefa24c9a2fe826e514","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d8da58d88a992eefa24c9a2fe826e514"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.593756,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d8da58d88a992eefa24c9a2fe826e514","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617036,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzNn0.dBR2XTG0noCuh9_fSerQJvJyDvu8zm7jCVtdQ4a4urw"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"d8da58d88a992eefa24c9a2fe826e514","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f1b07544-f783-4789-8f00-000513d1a643","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.7825172} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d8da58d88a992eefa24c9a2fe826e514","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"00e596dc-528b-4d14-9827-409b038dfdcd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.7866967} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d8da58d88a992eefa24c9a2fe826e514","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"1453baa3-a606-42b4-b982-4b91d315a666","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.8191307} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"329601d5-25a0-41fb-a737-e3c401c3459e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.8192537} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"d8da58d88a992eefa24c9a2fe826e514","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:56.819110306Z"}]},"request_id":"af369f1a-6af8-45df-a5b0-a6888e1e53bf","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617036.8233166} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d8da58d88a992eefa24c9a2fe826e514","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d8da58d88a992eefa24c9a2fe826e514"} gateway-1 | {"time_local":"02/Apr/2025:18:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d8da58d88a992eefa24c9a2fe826e514"} device-1 | {"level":"info","message":"POST /devices? 201 83ms","method":"POST","requestID":"d8da58d88a992eefa24c9a2fe826e514","responseTime":83,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4578d87fba427f7bcf5f1042c9910494","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4578d87fba427f7bcf5f1042c9910494","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d94531c27488ea34ae7c4832da7cf4b1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"02/Apr/2025:18:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/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":"4578d87fba427f7bcf5f1042c9910494"} device-1 | {"level":"info","message":"OPTIONS /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/websocket 200 1ms","method":"OPTIONS","requestID":"4578d87fba427f7bcf5f1042c9910494","responseTime":1,"status":200,"url":"/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d94531c27488ea34ae7c4832da7cf4b1","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/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":"d94531c27488ea34ae7c4832da7cf4b1"} device-1 | {"level":"info","message":"OPTIONS /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/websocket 200 1ms","method":"OPTIONS","requestID":"d94531c27488ea34ae7c4832da7cf4b1","responseTime":1,"status":200,"url":"/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M","level":"info","message":"auth send jwt","requestID":"f87a5aaf5a0e052fb326f4159e46b42c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f87a5aaf5a0e052fb326f4159e46b42c","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M","level":"info","message":"auth send jwt","requestID":"39cc795c1182dc996aa1a15b946ec0c3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"39cc795c1182dc996aa1a15b946ec0c3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f87a5aaf5a0e052fb326f4159e46b42c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"39cc795c1182dc996aa1a15b946ec0c3"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685919,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f87a5aaf5a0e052fb326f4159e46b42c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617039,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f87a5aaf5a0e052fb326f4159e46b42c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.548259,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"39cc795c1182dc996aa1a15b946ec0c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617039,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"39cc795c1182dc996aa1a15b946ec0c3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"39cc795c1182dc996aa1a15b946ec0c3"} gateway-1 | {"time_local":"02/Apr/2025:18:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/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":"39cc795c1182dc996aa1a15b946ec0c3"} device-1 | {"level":"info","message":"POST /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/websocket 200 33ms","method":"POST","requestID":"39cc795c1182dc996aa1a15b946ec0c3","responseTime":33,"status":200,"url":"/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f87a5aaf5a0e052fb326f4159e46b42c"} gateway-1 | {"time_local":"02/Apr/2025:18:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.092","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f87a5aaf5a0e052fb326f4159e46b42c"} device-1 | {"level":"info","message":"POST /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/websocket 200 86ms","method":"POST","requestID":"f87a5aaf5a0e052fb326f4159e46b42c","responseTime":86,"status":200,"url":"/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M","level":"info","message":"auth send jwt","requestID":"e2dc730ecef42f17a3360c7e73faf444"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e2dc730ecef42f17a3360c7e73faf444","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e2dc730ecef42f17a3360c7e73faf444"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659033,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e2dc730ecef42f17a3360c7e73faf444","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617039,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e2dc730ecef42f17a3360c7e73faf444","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:56.731609367Z"}]},"request_id":"20d2d20e-edb7-46a5-be0b-610171fcd0c3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.471719} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e2dc730ecef42f17a3360c7e73faf444","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e2dc730ecef42f17a3360c7e73faf444"} gateway-1 | {"time_local":"02/Apr/2025:18:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1? 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":"e2dc730ecef42f17a3360c7e73faf444"} device-1 | {"level":"info","message":"GET /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1? 200 10ms","method":"GET","requestID":"e2dc730ecef42f17a3360c7e73faf444","responseTime":10,"status":200,"url":"/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M","level":"info","message":"auth send jwt","requestID":"6e892c094b751260f8942fc855da8b74"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6e892c094b751260f8942fc855da8b74","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6e892c094b751260f8942fc855da8b74"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.633404,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"6e892c094b751260f8942fc855da8b74","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617039,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"6e892c094b751260f8942fc855da8b74","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:56.819110306Z"}]},"request_id":"4d81f084-1fd5-4803-a9fe-c4f5c1f721e1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.5102336} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6e892c094b751260f8942fc855da8b74","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6e892c094b751260f8942fc855da8b74"} gateway-1 | {"time_local":"02/Apr/2025:18:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1? 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":"6e892c094b751260f8942fc855da8b74"} device-1 | {"level":"info","message":"GET /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1? 200 34ms","method":"GET","requestID":"6e892c094b751260f8942fc855da8b74","responseTime":34,"status":200,"url":"/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M","level":"info","message":"auth send jwt","requestID":"fee3da00463b49cb12a5fa73dec9741d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fee3da00463b49cb12a5fa73dec9741d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"fee3da00463b49cb12a5fa73dec9741d"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.730608,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fee3da00463b49cb12a5fa73dec9741d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617039,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"fee3da00463b49cb12a5fa73dec9741d","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Attempting to run experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Attempting to book experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Successfully booked experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"da348960-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"da34b070-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71122,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da348960-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617039,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"da348960-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.604593,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da34b070-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617039,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"da34b070-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:56.731609367Z"}]},"request_id":"b08522a7-b76a-4a20-ab05-a546b4fbb1ee","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.6129813} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"da348960-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:56.819110306Z"}]},"request_id":"0c7d17b9-41eb-4b8e-a7ed-d55ee65b0f3a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.6138666} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"da34b070-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"da348960-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1? 200 11ms","method":"GET","requestID":"da348960-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"da34b070-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1? 200 11ms","method":"GET","requestID":"da34b070-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Setting up experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Successfully locked booking for experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Attempting to update booking for experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Successfully updated booking for experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Successfully set up experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"da4467e0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"da448ef0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da44b600-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Successfully running experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:50550","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.617054,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da4467e0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617039,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"da4467e0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762168,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da448ef0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617039,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"da448ef0-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:56.731609367Z"}]},"request_id":"caba680a-5a30-4583-8d7a-9b6c98600be9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.7456827} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"da4467e0-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:56.819110306Z"}]},"request_id":"4a4018dc-4cb8-45a6-a9f2-436b835fbee9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.7466748} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"da448ef0-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"da4467e0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1? 200 41ms","method":"GET","requestID":"da4467e0-0fec-11f0-b95a-67cf87457f46","responseTime":41,"status":200,"url":"/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1?"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"da448ef0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24fc6652-9be6-4a14-971f-57be2e99b8d0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.7517269} device-1 | {"level":"info","message":"GET /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1? 200 42ms","method":"GET","requestID":"da448ef0-0fec-11f0-b95a-67cf87457f46","responseTime":42,"status":200,"url":"/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1?"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.821434,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da4b1ea0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da44b600-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","method":"POST","requestID":"da44b600-0fec-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1b3ee88c-1242-4533-8bc6-fd5a77a1743f#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1b3ee88c-1242-4533-8bc6-fd5a77a1743f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"54252705-97a0-4ce6-a47a-0219b8ca24c1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.7545938} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"223681f9-b9de-4da3-af47-6201e818eaa4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.7549384} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da44b600-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} device-1 | {"level":"info","message":"POST /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/signaling 200 47ms","method":"POST","requestID":"da44b600-0fec-11f0-b95a-67cf87457f46","responseTime":47,"status":200,"url":"/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"fee3da00463b49cb12a5fa73dec9741d","responseTime":43,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e48dbedb-8e49-4ac2-a657-44109d290644","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.7605906} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.45753,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da4c3010-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da4b1ea0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"da4b1ea0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da4b1ea0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/signaling 200 11ms","method":"POST","requestID":"da4b1ea0-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd00812a-7c82-4b7d-8744-b75f002ebc16","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.7664044} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.155092,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da4d1a70-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"fee3da00463b49cb12a5fa73dec9741d"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da4c3010-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"02/Apr/2025:18:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.254","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fee3da00463b49cb12a5fa73dec9741d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 250ms","method":"POST","requestID":"fee3da00463b49cb12a5fa73dec9741d","responseTime":250,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"da4c3010-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da4c3010-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/signaling 200 34ms","method":"POST","requestID":"da4c3010-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"120e8e7d-d26f-41dc-a28e-30f872f41450","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.796307} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M","level":"info","message":"auth send jwt","requestID":"67bba4654278094066f967f878a0196b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"67bba4654278094066f967f878a0196b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67bba4654278094066f967f878a0196b"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.887007,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da4d1a70-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"da4d1a70-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754085,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da4d1a70-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"67bba4654278094066f967f878a0196b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617039,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M"} device-1 | {"level":"info","message":"POST /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/signaling 200 35ms","method":"POST","requestID":"da4d1a70-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"67bba4654278094066f967f878a0196b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Building connection plan","requestID":"fee3da00463b49cb12a5fa73dec9741d"} 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":"4c49445b-0cca-431a-87a6-f079a583189c"},{"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":"f977806b-3a42-4c9b-ab55-08a493a47f1f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"539ca43d-4b20-4c77-8893-00077a535490"}]},"level":"info","message":"Built pairwise service configurations","requestID":"fee3da00463b49cb12a5fa73dec9741d"} 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/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1"},{"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/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"fee3da00463b49cb12a5fa73dec9741d"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"da52e6d0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:56.731609367Z"}]},"request_id":"77befd67-9012-4cba-9f1d-26c8ddc4133f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.8056688} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"67bba4654278094066f967f878a0196b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.68211,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67bba4654278094066f967f878a0196b"} gateway-1 | {"time_local":"02/Apr/2025:18:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1? 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":"67bba4654278094066f967f878a0196b"} device-1 | {"level":"info","message":"GET /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1? 200 11ms","method":"GET","requestID":"67bba4654278094066f967f878a0196b","responseTime":11,"status":200,"url":"/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da52e6d0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617039,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"da52e6d0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M","level":"info","message":"auth send jwt","requestID":"1022cb1c336a089ccd2f704e92e0ceb6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1022cb1c336a089ccd2f704e92e0ceb6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1022cb1c336a089ccd2f704e92e0ceb6"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"b264c7ac-9368-45d6-aebf-fdc2c6bbd394","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.8409474} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec3530bf-a116-4393-a136-0b2de4fdeff1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.8410227} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"da52e6d0-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759917,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1022cb1c336a089ccd2f704e92e0ceb6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617039,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzAzOX0.-o2eFmbWGLYgxuFK5rzUdbbIlzcvSklNAHn3Z7FAL3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"1022cb1c336a089ccd2f704e92e0ceb6","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:03:56.819110306Z"}]},"request_id":"7802fdbe-468a-4601-ab2a-b810c7c6d1d0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.8494625} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1022cb1c336a089ccd2f704e92e0ceb6","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"da52e6d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"da52e6d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567'","requestID":"da52e6d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1022cb1c336a089ccd2f704e92e0ceb6"} gateway-1 | {"time_local":"02/Apr/2025:18:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1? 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":"1022cb1c336a089ccd2f704e92e0ceb6"} device-1 | {"level":"info","message":"GET /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1? 200 48ms","method":"GET","requestID":"1022cb1c336a089ccd2f704e92e0ceb6","responseTime":48,"status":200,"url":"/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1?"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567'","requestID":"da52e6d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"da52e6d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 58ms","method":"POST","requestID":"da52e6d0-0fec-11f0-b95a-67cf87457f46","responseTime":58,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"da52e6d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567","device":"9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","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/47698309-ac02-4318-8736-f89eecf58567","device":"6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","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/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"fee3da00463b49cb12a5fa73dec9741d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da67f570-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} device-1 | {"device":"9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a82a4f7e-5b52-42f7-ac3e-30365fab54a2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.949237} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.161743,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da67f570-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","object_type":"device","rebac_allow":false,"scope_allow":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":"da67f570-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"device":"6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da67f570-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/signaling 200 16ms","method":"POST","requestID":"da67f570-0fec-11f0-b95a-67cf87457f46","responseTime":16,"status":200,"url":"/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 7427528305134026933 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:chPL\r\na=ice-pwd:ip35kWjFjMOzKVjDW9vb8AOW\r\na=ice-options:trickle\r\na=fingerprint:sha-256 FA:96:45:A0:4C:AA:C7:89:59:01:73:52:96:77:05:C9:14:8D:A8:08:65:0E:1E:71:D1:6C:C4:FA:ED:7B:6B:40\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da6a8d80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1'"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91404194-ae7d-47c9-a0b4-5ca56eba4499","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617039.9895031} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.252018,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:03:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da6a8d80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","object_type":"device","rebac_allow":false,"scope_allow":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":"da6a8d80-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 8520807128270876385 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:lOTd\r\na=ice-pwd:UBLj4kHhI89lBYgrZjNudMVE\r\na=ice-options:trickle\r\na=fingerprint:sha-256 7A:0E:FA:64:C4:F1:A8:B2:06:66:A9:15:79:26:FF:44:C5:E8:F4:C9:35:2B:4C:DD:5E:54:71:D5:94:B6:54:FA\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3865510819 1 udp 2113937151 fca238dc-79f7-46d0-8f5d-d46ea834d848.local 48067 typ host generation 0 ufrag lOTd network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da6a8d80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/signaling 200 37ms","method":"POST","requestID":"da6a8d80-0fec-11f0-b95a-67cf87457f46","responseTime":37,"status":200,"url":"/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1'"} device-1 | {"content":{"candidate":"candidate:2838605200 1 udp 2113937151 361f7df8-dc58-4e89-bdaa-e6c44ea835d7.local 54334 typ host generation 0 ufrag chPL network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","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/47698309-ac02-4318-8736-f89eecf58567' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"47698309-ac02-4318-8736-f89eecf58567","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4c24f73fa3ab5509a6dc818cd7709310","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4c24f73fa3ab5509a6dc818cd7709310","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/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1"},{"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/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567"}}},"level":"info","message":"received a callback","requestID":"4c24f73fa3ab5509a6dc818cd7709310"} device-1 | {"device":"6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"4c24f73fa3ab5509a6dc818cd7709310","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"4c24f73fa3ab5509a6dc818cd7709310"} device-1 | {"device":"9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"47698309-ac02-4318-8736-f89eecf58567","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"47698309-ac02-4318-8736-f89eecf58567","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/47698309-ac02-4318-8736-f89eecf58567' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"47698309-ac02-4318-8736-f89eecf58567","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"360ece0994e90552189f3295a8c76f25","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"360ece0994e90552189f3295a8c76f25","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/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1"},{"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/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567"}}},"level":"info","message":"received a callback","requestID":"360ece0994e90552189f3295a8c76f25"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"da805f70-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F47698309-ac02-4318-8736-f89eecf58567","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"751d1c11-9490-42b8-90f9-9c10374f8bb2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.1324892} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.636368,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da805f70-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"da805f70-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"da805f70-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/47698309-ac02-4318-8736-f89eecf58567 200 33ms","method":"GET","requestID":"da805f70-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/peerconnections/47698309-ac02-4318-8736-f89eecf58567"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 79ms","method":"POST","requestID":"360ece0994e90552189f3295a8c76f25","responseTime":79,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0MH0.SIubjC53tArUn6KmuYglpBzSB7oqM6RRnK2LLtXRhu4","level":"info","message":"auth send jwt","requestID":"d4fb1e49cc96ab827bbf9851b39e08d2"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"d4fb1e49cc96ab827bbf9851b39e08d2","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f","requestID":"d4fb1e49cc96ab827bbf9851b39e08d2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da8bd120-0fec-11f0-b95a-67cf87457f46"} gateway-1 | {"time_local":"02/Apr/2025:18:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch","requestID":"360ece0994e90552189f3295a8c76f25"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.935795,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7070d121-c867-4b94-8dbd-564c8d199b5e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.1828454} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d4fb1e49cc96ab827bbf9851b39e08d2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617040,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0MH0.SIubjC53tArUn6KmuYglpBzSB7oqM6RRnK2LLtXRhu4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d4fb1e49cc96ab827bbf9851b39e08d2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.668029,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da8bd120-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"da8bd120-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da8bd120-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/signaling 200 9ms","method":"POST","requestID":"da8bd120-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f","requestID":"d4fb1e49cc96ab827bbf9851b39e08d2"} experiment-1 | {"level":"info","message":"GET /experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f 200 10ms","method":"GET","requestID":"d4fb1e49cc96ab827bbf9851b39e08d2","responseTime":10,"status":200,"url":"/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"} gateway-1 | {"time_local":"02/Apr/2025:18:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4fb1e49cc96ab827bbf9851b39e08d2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da8da5e0-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0MH0.SIubjC53tArUn6KmuYglpBzSB7oqM6RRnK2LLtXRhu4","level":"info","message":"auth send jwt","requestID":"1f53b0f8087ea8d5c40565d4a170ac61"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1f53b0f8087ea8d5c40565d4a170ac61","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:00Z"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f","requestID":"1f53b0f8087ea8d5c40565d4a170ac61"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24ed1fc6-ae23-473a-b6fd-d0324021930f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.1958847} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.961518,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.651486,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da8da5e0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","object_type":"device","rebac_allow":false,"scope_allow":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":"da8da5e0-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1f53b0f8087ea8d5c40565d4a170ac61","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617040,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0MH0.SIubjC53tArUn6KmuYglpBzSB7oqM6RRnK2LLtXRhu4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1f53b0f8087ea8d5c40565d4a170ac61","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da8da5e0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/signaling 200 35ms","method":"POST","requestID":"da8da5e0-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Attempting to finish experiment","requestID":"1f53b0f8087ea8d5c40565d4a170ac61"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"da93c060-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.743974,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"da93c060-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617040,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0MH0.SIubjC53tArUn6KmuYglpBzSB7oqM6RRnK2LLtXRhu4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"da93c060-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567","device":"9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567","device":"6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","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/47698309-ac02-4318-8736-f89eecf58567' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"47698309-ac02-4318-8736-f89eecf58567","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F47698309-ac02-4318-8736-f89eecf58567': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F47698309-ac02-4318-8736-f89eecf58567","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"0a8912a0-d6df-42dd-9792-7a55f14073eb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.2436492} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9219153-a290-4e60-99a1-36a7165e54f9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.2439375} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7542d7162e9a75e9ed772a7037350ba8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7542d7162e9a75e9ed772a7037350ba8","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9fb6617e6b0d3b93b1c88170291486cc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9fb6617e6b0d3b93b1c88170291486cc","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"da93c060-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1"},{"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/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567"}}},"level":"info","message":"received a callback","requestID":"7542d7162e9a75e9ed772a7037350ba8"} 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/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1"},{"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/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/47698309-ac02-4318-8736-f89eecf58567"}}},"level":"info","message":"received a callback","requestID":"9fb6617e6b0d3b93b1c88170291486cc"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"da93c060-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/47698309-ac02-4318-8736-f89eecf58567 204 51ms","method":"DELETE","requestID":"da93c060-0fec-11f0-b95a-67cf87457f46","responseTime":51,"status":204,"url":"/peerconnections/47698309-ac02-4318-8736-f89eecf58567"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"},"level":"info","message":"Successfully finished experiment","requestID":"1f53b0f8087ea8d5c40565d4a170ac61"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"daa1a310-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"942e5653-3916-4ef4-b66c-8366d91f61b9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.3282385} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.370946,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"daa1a310-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"daa1a310-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"daa1a310-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/signaling 200 11ms","method":"POST","requestID":"daa1a310-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"daa39ee0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a60fc68b-682a-4e9a-bef4-cca9bc9dae14","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.3384979} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1b3ee88c-1242-4533-8bc6-fd5a77a1743f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1b3ee88c-1242-4533-8bc6-fd5a77a1743f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"483d8835-9890-4be0-a16a-884ad031b5a5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.3388197} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.432385,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"daa39ee0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"daa39ee0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37aeeed0-9c31-4099-b4b1-9f7e62291fe8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.3392208} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"1f53b0f8087ea8d5c40565d4a170ac61","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"daa39ee0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/signaling 200 9ms","method":"POST","requestID":"daa39ee0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f","requestID":"1f53b0f8087ea8d5c40565d4a170ac61"} gateway-1 | {"time_local":"02/Apr/2025:18:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.284","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1f53b0f8087ea8d5c40565d4a170ac61"} experiment-1 | {"level":"info","message":"DELETE /experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f 204 281ms","method":"DELETE","requestID":"1f53b0f8087ea8d5c40565d4a170ac61","responseTime":281,"status":204,"url":"/experiments/1b3ee88c-1242-4533-8bc6-fd5a77a1743f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 231ms","method":"POST","requestID":"7542d7162e9a75e9ed772a7037350ba8","responseTime":231,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.234","http_referrer":"","http_user_agent":"node-fetch","requestID":"7542d7162e9a75e9ed772a7037350ba8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 231ms","method":"POST","requestID":"9fb6617e6b0d3b93b1c88170291486cc","responseTime":231,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.234","http_referrer":"","http_user_agent":"node-fetch","requestID":"9fb6617e6b0d3b93b1c88170291486cc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0MH0.SIubjC53tArUn6KmuYglpBzSB7oqM6RRnK2LLtXRhu4","level":"info","message":"auth send jwt","requestID":"7fa9ef3b16b803ad6496e55f19aaa4ab"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7fa9ef3b16b803ad6496e55f19aaa4ab","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7fa9ef3b16b803ad6496e55f19aaa4ab"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.046245,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7fa9ef3b16b803ad6496e55f19aaa4ab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617040,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0MH0.SIubjC53tArUn6KmuYglpBzSB7oqM6RRnK2LLtXRhu4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7fa9ef3b16b803ad6496e55f19aaa4ab","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:18:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"1.096","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f232e2ef200c28be6242b32fa59c071f"} gateway-1 | {"time_local":"02/Apr/2025:18:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"1.148","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f24adea9a2df33cd4aac14d35490ae54"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6c3da427-3d18-4ccf-a4f5-e35fd4c8c1b1' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d02f4b97-633e-44a1-80b2-80e8bb1f5d63","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.5288253} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7fa9ef3b16b803ad6496e55f19aaa4ab","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f0fb4a7-1d80-4240-a291-cc81843c6db1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.5325193} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"7fa9ef3b16b803ad6496e55f19aaa4ab","responseTime":2,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9704a11c-2e35-4c4b-8819-bee3f4cc6ca1' closed"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"6389f0dc-bff3-4df7-b7c6-a253726dcff2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.5685327} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7b58304-4330-4aa8-9d30-cc4d8cfe2ef4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.568804} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"7fa9ef3b16b803ad6496e55f19aaa4ab","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:00.568507094Z"}]},"request_id":"61602543-0051-48ac-944b-09f477de71f8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.5723302} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7fa9ef3b16b803ad6496e55f19aaa4ab","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7fa9ef3b16b803ad6496e55f19aaa4ab"} gateway-1 | {"time_local":"02/Apr/2025:18:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7fa9ef3b16b803ad6496e55f19aaa4ab"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"7fa9ef3b16b803ad6496e55f19aaa4ab","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0MH0.SIubjC53tArUn6KmuYglpBzSB7oqM6RRnK2LLtXRhu4","level":"info","message":"auth send jwt","requestID":"0efa37af7703d557b224c5c451427891"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0efa37af7703d557b224c5c451427891","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0efa37af7703d557b224c5c451427891"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.690778,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0efa37af7703d557b224c5c451427891","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617040,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0MH0.SIubjC53tArUn6KmuYglpBzSB7oqM6RRnK2LLtXRhu4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0efa37af7703d557b224c5c451427891","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dfacac3b-b6ea-4a47-a04d-a7f6fe596e8b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.623939} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0efa37af7703d557b224c5c451427891","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d80c74f-f514-4efb-b404-4d13844494fc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.627528} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"0efa37af7703d557b224c5c451427891","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"739accd0-c2f2-4e7e-afd8-c11042e84c7e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.6569967} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"45404f6c-8ee4-4ca3-a47f-c812c24c50d9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.6612282} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"0efa37af7703d557b224c5c451427891","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:00.656967878Z"}]},"request_id":"1931c95b-614e-4c78-aa33-a68a37b7c785","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617040.6651123} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0efa37af7703d557b224c5c451427891","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0efa37af7703d557b224c5c451427891"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"0efa37af7703d557b224c5c451427891","responseTime":87,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0efa37af7703d557b224c5c451427891"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0MX0.StvKozr-6cLNTeUxZMiXyX1XcRhDUY75xnK7JzEPgfg","level":"info","message":"auth send jwt","requestID":"5ef1b938af0cc15f1a759f948ecb9749"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ef1b938af0cc15f1a759f948ecb9749","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"5ef1b938af0cc15f1a759f948ecb9749"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702418,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"5ef1b938af0cc15f1a759f948ecb9749","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617041,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0MX0.StvKozr-6cLNTeUxZMiXyX1XcRhDUY75xnK7JzEPgfg"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"5ef1b938af0cc15f1a759f948ecb9749","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:00.656967878Z"}]},"request_id":"5ec0d23b-9199-4be8-a9b6-f511a77dea2e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617041.6708317} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5ef1b938af0cc15f1a759f948ecb9749","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d733e5f-73e9-4c8a-a5ea-ffb0e9a176a2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617041.6755185} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5ef1b938af0cc15f1a759f948ecb9749","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:00.656967878Z"}]},"request_id":"05c77b44-fb06-40f5-a644-d37b99f1bfa8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617041.717283} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5ef1b938af0cc15f1a759f948ecb9749","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"5ef1b938af0cc15f1a759f948ecb9749"} gateway-1 | {"time_local":"02/Apr/2025:18:04:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.085","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"5ef1b938af0cc15f1a759f948ecb9749"} device-1 | {"level":"info","message":"PATCH /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554 200 81ms","method":"PATCH","requestID":"5ef1b938af0cc15f1a759f948ecb9749","responseTime":81,"status":200,"url":"/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0MX0.StvKozr-6cLNTeUxZMiXyX1XcRhDUY75xnK7JzEPgfg","level":"info","message":"auth send jwt","requestID":"1b1e5fadca17a542c3c7ce02d379a1f1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1b1e5fadca17a542c3c7ce02d379a1f1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1b1e5fadca17a542c3c7ce02d379a1f1"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796322,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1b1e5fadca17a542c3c7ce02d379a1f1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617041,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0MX0.StvKozr-6cLNTeUxZMiXyX1XcRhDUY75xnK7JzEPgfg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1b1e5fadca17a542c3c7ce02d379a1f1","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1b1e5fadca17a542c3c7ce02d379a1f1"} device-1 | {"level":"info","message":"POST /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554/websocket 200 40ms","method":"POST","requestID":"1b1e5fadca17a542c3c7ce02d379a1f1","responseTime":40,"status":200,"url":"/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:04:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"1b1e5fadca17a542c3c7ce02d379a1f1"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6f6357f6e01f60e4162d666e7bdb7aeb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6f6357f6e01f60e4162d666e7bdb7aeb","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/30f46485-42ff-488f-9aba-4d97b0b514b9/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":"6f6357f6e01f60e4162d666e7bdb7aeb"} device-1 | {"level":"info","message":"OPTIONS /devices/30f46485-42ff-488f-9aba-4d97b0b514b9/websocket 200 0ms","method":"OPTIONS","requestID":"6f6357f6e01f60e4162d666e7bdb7aeb","responseTime":0,"status":200,"url":"/devices/30f46485-42ff-488f-9aba-4d97b0b514b9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys","level":"info","message":"auth send jwt","requestID":"eb9605939ff19fbb7b863763a7621172"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eb9605939ff19fbb7b863763a7621172","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"eb9605939ff19fbb7b863763a7621172"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733783,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"eb9605939ff19fbb7b863763a7621172","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617043,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eb9605939ff19fbb7b863763a7621172","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"eb9605939ff19fbb7b863763a7621172"} gateway-1 | {"time_local":"02/Apr/2025:18:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/30f46485-42ff-488f-9aba-4d97b0b514b9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.050","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"eb9605939ff19fbb7b863763a7621172"} device-1 | {"level":"info","message":"POST /devices/30f46485-42ff-488f-9aba-4d97b0b514b9/websocket 200 46ms","method":"POST","requestID":"eb9605939ff19fbb7b863763a7621172","responseTime":46,"status":200,"url":"/devices/30f46485-42ff-488f-9aba-4d97b0b514b9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys","level":"info","message":"auth send jwt","requestID":"d4db49b4d66fcb30c8c2816a208f6827"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d4db49b4d66fcb30c8c2816a208f6827","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d4db49b4d66fcb30c8c2816a208f6827"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920951,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d4db49b4d66fcb30c8c2816a208f6827","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617043,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d4db49b4d66fcb30c8c2816a208f6827","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:00.568507094Z"}]},"request_id":"65303268-290b-4cc1-a119-d74c76c66cde","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.1162908} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d4db49b4d66fcb30c8c2816a208f6827","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d4db49b4d66fcb30c8c2816a208f6827"} device-1 | {"level":"info","message":"GET /devices/30f46485-42ff-488f-9aba-4d97b0b514b9? 200 10ms","method":"GET","requestID":"d4db49b4d66fcb30c8c2816a208f6827","responseTime":10,"status":200,"url":"/devices/30f46485-42ff-488f-9aba-4d97b0b514b9?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/30f46485-42ff-488f-9aba-4d97b0b514b9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4db49b4d66fcb30c8c2816a208f6827"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys","level":"info","message":"auth send jwt","requestID":"0d5a1df6284217d27d1da6512200f657"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0d5a1df6284217d27d1da6512200f657","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d5a1df6284217d27d1da6512200f657"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.627895,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0d5a1df6284217d27d1da6512200f657","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617043,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0d5a1df6284217d27d1da6512200f657","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:00.656967878Z"}]},"request_id":"08ca3629-08c5-4ae7-9a80-1cad02ac06e4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.1542087} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"0d5a1df6284217d27d1da6512200f657","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d5a1df6284217d27d1da6512200f657"} gateway-1 | {"time_local":"02/Apr/2025:18:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554? 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":"0d5a1df6284217d27d1da6512200f657"} device-1 | {"level":"info","message":"GET /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554? 200 34ms","method":"GET","requestID":"0d5a1df6284217d27d1da6512200f657","responseTime":34,"status":200,"url":"/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys","level":"info","message":"auth send jwt","requestID":"63fce7785eed07721351499de42e7c8b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"63fce7785eed07721351499de42e7c8b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"63fce7785eed07721351499de42e7c8b"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.64955,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"63fce7785eed07721351499de42e7c8b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617043,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"63fce7785eed07721351499de42e7c8b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Attempting to run experiment","requestID":"63fce7785eed07721351499de42e7c8b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Attempting to book experiment","requestID":"63fce7785eed07721351499de42e7c8b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Successfully booked experiment","requestID":"63fce7785eed07721351499de42e7c8b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc5d35c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc606a10-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74889,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc5d35c0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617043,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dc5d35c0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.525012,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc606a10-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617043,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dc606a10-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:00.568507094Z"}]},"request_id":"3e908392-986c-4c41-9633-e7254c3bf6b5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.2568843} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dc5d35c0-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:00.656967878Z"}]},"request_id":"ad4db430-566f-4238-b2b1-17c4fb12671e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.257831} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dc606a10-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc5d35c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/30f46485-42ff-488f-9aba-4d97b0b514b9? 200 33ms","method":"GET","requestID":"dc5d35c0-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/30f46485-42ff-488f-9aba-4d97b0b514b9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc606a10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554? 200 13ms","method":"GET","requestID":"dc606a10-0fec-11f0-b95a-67cf87457f46","responseTime":13,"status":200,"url":"/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Setting up experiment","requestID":"63fce7785eed07721351499de42e7c8b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"63fce7785eed07721351499de42e7c8b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Successfully locked booking for experiment","requestID":"63fce7785eed07721351499de42e7c8b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"63fce7785eed07721351499de42e7c8b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"63fce7785eed07721351499de42e7c8b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Attempting to update booking for experiment","requestID":"63fce7785eed07721351499de42e7c8b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Successfully updated booking for experiment","requestID":"63fce7785eed07721351499de42e7c8b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Successfully set up experiment","requestID":"63fce7785eed07721351499de42e7c8b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc704890-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc7096b0-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Successfully running experiment","requestID":"63fce7785eed07721351499de42e7c8b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc70bdc0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.825655,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc704890-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617043,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dc704890-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.597741,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc7096b0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617043,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc7096b0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c54eb9a-078a-4cb3-a6a1-379b4d1ffd88","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.362236} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.54506,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc70bdc0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dc70bdc0-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:00.568507094Z"}]},"request_id":"c7f91299-3ab6-45b3-a314-add475578d22","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.3634157} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:00.656967878Z"}]},"request_id":"12fb52ff-54a0-4c5a-ac9c-0c8c7aca3a10","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.3645353} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dc704890-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dc7096b0-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc70bdc0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/30f46485-42ff-488f-9aba-4d97b0b514b9/signaling 200 14ms","method":"POST","requestID":"dc70bdc0-0fec-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/30f46485-42ff-488f-9aba-4d97b0b514b9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc704890-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/30f46485-42ff-488f-9aba-4d97b0b514b9? 200 18ms","method":"GET","requestID":"dc704890-0fec-11f0-b95a-67cf87457f46","responseTime":18,"status":200,"url":"/devices/30f46485-42ff-488f-9aba-4d97b0b514b9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc732ec0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe07b8645-9046-450e-8be5-c27a8fe9c7b2#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe07b8645-9046-450e-8be5-c27a8fe9c7b2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"6cec80d0-7d41-4a4f-8b0a-38fad069dc9d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.3952808} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1e87217-9c1d-4afe-b42c-b36ccc6c1ff5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.3954306} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"63fce7785eed07721351499de42e7c8b","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc7096b0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} device-1 | {"level":"info","message":"GET /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554? 200 43ms","method":"GET","requestID":"dc7096b0-0fec-11f0-b95a-67cf87457f46","responseTime":43,"status":200,"url":"/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f6d48044-c8c8-4fac-9b77-1056418b833f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.4003527} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.640213,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc732ec0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","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":"dc779b90-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc732ec0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"63fce7785eed07721351499de42e7c8b"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} gateway-1 | {"time_local":"02/Apr/2025:18:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.246","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"63fce7785eed07721351499de42e7c8b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 242ms","method":"POST","requestID":"63fce7785eed07721351499de42e7c8b","responseTime":242,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc732ec0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b43e7c9-9a79-4f2b-8650-50a44c27a7af","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.4061997} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.413109,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} device-1 | {"level":"info","message":"POST /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554/signaling 200 35ms","method":"POST","requestID":"dc732ec0-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc779b90-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc779b90-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys","level":"info","message":"auth send jwt","requestID":"00d36eabe5def183f488b842ad300165"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"00d36eabe5def183f488b842ad300165","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"00d36eabe5def183f488b842ad300165"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.386905,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc779b90-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/30f46485-42ff-488f-9aba-4d97b0b514b9/signaling 200 12ms","method":"POST","requestID":"dc779b90-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/30f46485-42ff-488f-9aba-4d97b0b514b9/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"00d36eabe5def183f488b842ad300165","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617043,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc79e580-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"00d36eabe5def183f488b842ad300165","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:00.568507094Z"}]},"request_id":"46fac9c7-b6a1-42f5-a818-1288856f138a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.4438164} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"00d36eabe5def183f488b842ad300165","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.09447,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfb9e52b-cb45-4a21-825a-9c285cb11e19","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.4447427} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc79e580-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc79e580-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"00d36eabe5def183f488b842ad300165"} gateway-1 | {"time_local":"02/Apr/2025:18:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/30f46485-42ff-488f-9aba-4d97b0b514b9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00d36eabe5def183f488b842ad300165"} device-1 | {"level":"info","message":"GET /devices/30f46485-42ff-488f-9aba-4d97b0b514b9? 200 38ms","method":"GET","requestID":"00d36eabe5def183f488b842ad300165","responseTime":38,"status":200,"url":"/devices/30f46485-42ff-488f-9aba-4d97b0b514b9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc79e580-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554/signaling 200 33ms","method":"POST","requestID":"dc79e580-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"63fce7785eed07721351499de42e7c8b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Building connection plan","requestID":"63fce7785eed07721351499de42e7c8b"} 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":"f60771da-e46d-45a8-8206-ff9cf8b18e27"},{"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":"fc0b45a5-0f43-43f5-a277-9ce4f3272560"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"01c28cd3-f2f3-4e15-ac41-5a372e15cebd"}]},"level":"info","message":"Built pairwise service configurations","requestID":"63fce7785eed07721351499de42e7c8b"} 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/8c386a72-c5a3-4da6-a96a-b3adb13e1554"},{"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/30f46485-42ff-488f-9aba-4d97b0b514b9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"63fce7785eed07721351499de42e7c8b"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"dc7f63c0-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys","level":"info","message":"auth send jwt","requestID":"740edf49307d278d1c1a05514049355c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"740edf49307d278d1c1a05514049355c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"740edf49307d278d1c1a05514049355c"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.609522,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc7f63c0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617043,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dc7f63c0-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.625344,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"740edf49307d278d1c1a05514049355c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617043,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0M30.MZ8U7C9mQJd-TUho6X9-9xG-HbT0fxBzU0XGlpBZZys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"740edf49307d278d1c1a05514049355c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:00.656967878Z"}]},"request_id":"2380a811-4992-4225-abde-9a57a710de8f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.4598868} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"740edf49307d278d1c1a05514049355c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"740edf49307d278d1c1a05514049355c"} gateway-1 | {"time_local":"02/Apr/2025:18:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554? 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":"740edf49307d278d1c1a05514049355c"} device-1 | {"level":"info","message":"GET /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554? 200 10ms","method":"GET","requestID":"740edf49307d278d1c1a05514049355c","responseTime":10,"status":200,"url":"/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"b43cbee6-0c0d-4e34-828e-27d343eef510","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.4640386} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14793098-ba42-43bf-ac8c-49fa8f07f072","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.464287} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"dc7f63c0-0fec-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"dc7f63c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"dc7f63c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a'","requestID":"dc7f63c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a'","requestID":"dc7f63c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"dc7f63c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 52ms","method":"POST","requestID":"dc7f63c0-0fec-11f0-b95a-67cf87457f46","responseTime":52,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"dc7f63c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a","device":"30f46485-42ff-488f-9aba-4d97b0b514b9","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/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"63fce7785eed07721351499de42e7c8b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc8f4240-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e0c3969-e80c-435a-b1f1-eebc7778568a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.5854924} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.774185,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc8f4240-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","object_type":"device","rebac_allow":false,"scope_allow":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":"dc8f4240-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc8f4240-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/30f46485-42ff-488f-9aba-4d97b0b514b9/signaling 200 35ms","method":"POST","requestID":"dc8f4240-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/30f46485-42ff-488f-9aba-4d97b0b514b9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc94e790-0fec-11f0-b95a-67cf87457f46"} device-1 | {"device":"30f46485-42ff-488f-9aba-4d97b0b514b9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"30f46485-42ff-488f-9aba-4d97b0b514b9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc8a8717-9864-403c-93cd-95b8059d8177","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617043.5981133} device-1 | {"content":{"sdp":"v=0\r\no=- 6772031649977753204 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:fpbq\r\na=ice-pwd:muooXFUQuClb0RWdBbv+dOA1\r\na=ice-options:trickle\r\na=fingerprint:sha-256 5F:A1:0D:CD:74:89:50:87:44:F4:09:D8:76:50:3F:A7:6D:58:71:80:9E:98:0E:4E:84:F1:63:99:36:9B:10:29\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"30f46485-42ff-488f-9aba-4d97b0b514b9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.354541,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc94e790-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dc94e790-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc94e790-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554/signaling 200 10ms","method":"POST","requestID":"dc94e790-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554/signaling"} device-1 | {"device":"30f46485-42ff-488f-9aba-4d97b0b514b9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"8c386a72-c5a3-4da6-a96a-b3adb13e1554","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"505fa1c2-1ae5-4084-a598-469579c1668a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8c386a72-c5a3-4da6-a96a-b3adb13e1554","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8c386a72-c5a3-4da6-a96a-b3adb13e1554","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8c386a72-c5a3-4da6-a96a-b3adb13e1554","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8c386a72-c5a3-4da6-a96a-b3adb13e1554","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"505fa1c2-1ae5-4084-a598-469579c1668a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4b7a9fddbcf1664808222c3b77d86de0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4b7a9fddbcf1664808222c3b77d86de0","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/8c386a72-c5a3-4da6-a96a-b3adb13e1554"},{"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/30f46485-42ff-488f-9aba-4d97b0b514b9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a"}}},"level":"info","message":"received a callback","requestID":"4b7a9fddbcf1664808222c3b77d86de0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"4b7a9fddbcf1664808222c3b77d86de0","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b7a9fddbcf1664808222c3b77d86de0"} device-1 | {"content":{"candidate":"candidate:3940480906 1 udp 2113937151 e523ade0-0e41-4b92-ae46-2c3c9e6f85c3.local 38760 typ host generation 0 ufrag fpbq network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"30f46485-42ff-488f-9aba-4d97b0b514b9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"30f46485-42ff-488f-9aba-4d97b0b514b9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"8c386a72-c5a3-4da6-a96a-b3adb13e1554","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8c386a72-c5a3-4da6-a96a-b3adb13e1554","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"30f46485-42ff-488f-9aba-4d97b0b514b9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"505fa1c2-1ae5-4084-a598-469579c1668a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"505fa1c2-1ae5-4084-a598-469579c1668a","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/505fa1c2-1ae5-4084-a598-469579c1668a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"505fa1c2-1ae5-4084-a598-469579c1668a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"303ba3c6719143f9d54ceb5a0188b9a5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"303ba3c6719143f9d54ceb5a0188b9a5","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/8c386a72-c5a3-4da6-a96a-b3adb13e1554"},{"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/30f46485-42ff-488f-9aba-4d97b0b514b9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a"}}},"level":"info","message":"received a callback","requestID":"303ba3c6719143f9d54ceb5a0188b9a5"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ddd6dd70-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F505fa1c2-1ae5-4084-a598-469579c1668a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bbee8c13-d514-48e0-9b0a-9aa031764514","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617045.7082608} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.661022,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ddd6dd70-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a","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":"ddd6dd70-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ddd6dd70-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a 200 9ms","method":"GET","requestID":"ddd6dd70-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0NX0.BIC_NkbRcWgZTUC4IdWhcg5laGjMFJgyL7vad-gQmdw","level":"info","message":"auth send jwt","requestID":"f9f568163dabc5c2f34922051d496ac2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f9f568163dabc5c2f34922051d496ac2","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2","requestID":"f9f568163dabc5c2f34922051d496ac2"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.764158,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f9f568163dabc5c2f34922051d496ac2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617045,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0NX0.BIC_NkbRcWgZTUC4IdWhcg5laGjMFJgyL7vad-gQmdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f9f568163dabc5c2f34922051d496ac2","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"303ba3c6719143f9d54ceb5a0188b9a5","responseTime":52,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ddde5780-0fec-11f0-b95a-67cf87457f46"} gateway-1 | {"time_local":"02/Apr/2025:18:04: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.081","http_referrer":"","http_user_agent":"node-fetch","requestID":"303ba3c6719143f9d54ceb5a0188b9a5"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:05Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2","requestID":"f9f568163dabc5c2f34922051d496ac2"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23d0545a-3327-4685-ac21-b8b18c7afd72","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617045.7570405} gateway-1 | {"time_local":"02/Apr/2025:18:04:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9f568163dabc5c2f34922051d496ac2"} experiment-1 | {"level":"info","message":"GET /experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2 200 37ms","method":"GET","requestID":"f9f568163dabc5c2f34922051d496ac2","responseTime":37,"status":200,"url":"/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.041525,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ddde5780-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ddde5780-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0NX0.BIC_NkbRcWgZTUC4IdWhcg5laGjMFJgyL7vad-gQmdw","level":"info","message":"auth send jwt","requestID":"cac44c52c0e7c3b37f5e2b91ed91ad84"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cac44c52c0e7c3b37f5e2b91ed91ad84","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ddde5780-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2","requestID":"cac44c52c0e7c3b37f5e2b91ed91ad84"} device-1 | {"level":"info","message":"POST /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554/signaling 200 11ms","method":"POST","requestID":"ddde5780-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:05Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dde05350-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.699077,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cac44c52c0e7c3b37f5e2b91ed91ad84","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617045,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0NX0.BIC_NkbRcWgZTUC4IdWhcg5laGjMFJgyL7vad-gQmdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cac44c52c0e7c3b37f5e2b91ed91ad84","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4931bd9a-7f1c-4216-b996-a8575e1962bb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617045.794946} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.255025,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dde05350-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","object_type":"device","rebac_allow":false,"scope_allow":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":"dde05350-0fec-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Attempting to finish experiment","requestID":"cac44c52c0e7c3b37f5e2b91ed91ad84"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dde05350-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/30f46485-42ff-488f-9aba-4d97b0b514b9/signaling 200 34ms","method":"POST","requestID":"dde05350-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/30f46485-42ff-488f-9aba-4d97b0b514b9/signaling"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"dde5aa80-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.916932,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dde5aa80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617045,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0NX0.BIC_NkbRcWgZTUC4IdWhcg5laGjMFJgyL7vad-gQmdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dde5aa80-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a","device":"30f46485-42ff-488f-9aba-4d97b0b514b9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"8c386a72-c5a3-4da6-a96a-b3adb13e1554","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8c386a72-c5a3-4da6-a96a-b3adb13e1554","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8c386a72-c5a3-4da6-a96a-b3adb13e1554","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"505fa1c2-1ae5-4084-a598-469579c1668a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bfdf1b307e526e3b2bc2d9dd6c3b2ae6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bfdf1b307e526e3b2bc2d9dd6c3b2ae6","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F505fa1c2-1ae5-4084-a598-469579c1668a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F505fa1c2-1ae5-4084-a598-469579c1668a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"5ebe54b5-473d-406f-ba33-35c9b72654be","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617045.8413498} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b20e44fc-4c5b-49c3-928b-e8df2a701dfe","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617045.841496} 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/8c386a72-c5a3-4da6-a96a-b3adb13e1554"},{"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/30f46485-42ff-488f-9aba-4d97b0b514b9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a"}}},"level":"info","message":"received a callback","requestID":"bfdf1b307e526e3b2bc2d9dd6c3b2ae6"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"96fc31ae2cf201ebfb6d885a403faac7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"96fc31ae2cf201ebfb6d885a403faac7","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"dde5aa80-0fec-11f0-b95a-67cf87457f46","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/8c386a72-c5a3-4da6-a96a-b3adb13e1554"},{"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/30f46485-42ff-488f-9aba-4d97b0b514b9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a"}}},"level":"info","message":"received a callback","requestID":"96fc31ae2cf201ebfb6d885a403faac7"} device-1 | {"data":{"peerconnection":"505fa1c2-1ae5-4084-a598-469579c1668a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"dde5aa80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a 204 109ms","method":"DELETE","requestID":"dde5aa80-0fec-11f0-b95a-67cf87457f46","responseTime":109,"status":204,"url":"/peerconnections/505fa1c2-1ae5-4084-a598-469579c1668a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"},"level":"info","message":"Successfully finished experiment","requestID":"cac44c52c0e7c3b37f5e2b91ed91ad84"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ddfc8de0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c386a72-c5a3-4da6-a96a-b3adb13e1554","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e077295-19f1-4008-bc54-b3b437ff517d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617045.954939} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.128459,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ddfc8de0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ddfc8de0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ddfc8de0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554/signaling 200 35ms","method":"POST","requestID":"ddfc8de0-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de020c20-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe07b8645-9046-450e-8be5-c27a8fe9c7b2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe07b8645-9046-450e-8be5-c27a8fe9c7b2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"bca8cf67-2326-4c4c-9ede-391067d39c9a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617045.988955} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9db94018-e2d6-48f6-bb5b-976fa877007e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617045.9892313} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"cac44c52c0e7c3b37f5e2b91ed91ad84","responseTime":43,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f46485-42ff-488f-9aba-4d97b0b514b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97872452-4b1c-4939-ac2c-f14c3ec9a8ef","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617045.9918723} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.334625,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"de020c20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30f46485-42ff-488f-9aba-4d97b0b514b9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"de020c20-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de020c20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/30f46485-42ff-488f-9aba-4d97b0b514b9/signaling 200 10ms","method":"POST","requestID":"de020c20-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/30f46485-42ff-488f-9aba-4d97b0b514b9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2","requestID":"cac44c52c0e7c3b37f5e2b91ed91ad84"} gateway-1 | {"time_local":"02/Apr/2025:18:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.338","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cac44c52c0e7c3b37f5e2b91ed91ad84"} experiment-1 | {"level":"info","message":"DELETE /experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2 204 335ms","method":"DELETE","requestID":"cac44c52c0e7c3b37f5e2b91ed91ad84","responseTime":335,"status":204,"url":"/experiments/e07b8645-9046-450e-8be5-c27a8fe9c7b2"} gateway-1 | {"time_local":"02/Apr/2025:18:04:06 +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.333","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"b8b9829197e4925a478e426eb316f731"} gateway-1 | {"time_local":"02/Apr/2025:18:04: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.259","http_referrer":"","http_user_agent":"node-fetch","requestID":"bfdf1b307e526e3b2bc2d9dd6c3b2ae6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 254ms","method":"POST","requestID":"bfdf1b307e526e3b2bc2d9dd6c3b2ae6","responseTime":254,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0Nn0.Y5kuzp8KFTz9-TinuLi85XiDtRYdMume2gq2V9Uawfs","level":"info","message":"auth send jwt","requestID":"67ca2df0fe417e7ebd0e4e75589da856"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"67ca2df0fe417e7ebd0e4e75589da856","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"67ca2df0fe417e7ebd0e4e75589da856"} gateway-1 | {"time_local":"02/Apr/2025:18:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2398","request_time":"3.059","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"413d0711249d3f0cbfb94f946196735d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 284ms","method":"POST","requestID":"96fc31ae2cf201ebfb6d885a403faac7","responseTime":284,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04: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.289","http_referrer":"","http_user_agent":"node-fetch","requestID":"96fc31ae2cf201ebfb6d885a403faac7"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.905197,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"67ca2df0fe417e7ebd0e4e75589da856","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617046,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0Nn0.Y5kuzp8KFTz9-TinuLi85XiDtRYdMume2gq2V9Uawfs"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"67ca2df0fe417e7ebd0e4e75589da856","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8c386a72-c5a3-4da6-a96a-b3adb13e1554' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"06ac37c4-99ba-4579-9605-554ee5637983","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617046.1501567} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"67ca2df0fe417e7ebd0e4e75589da856","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/30f46485-42ff-488f-9aba-4d97b0b514b9' 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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"151cd1fa-3430-451b-9b6c-567b381c796a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617046.1791677} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"67ca2df0fe417e7ebd0e4e75589da856","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"2de4ede8-3b5c-47b9-ae15-a39563b6d114","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617046.1937776} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f491246e-83ed-44ae-b9fd-344edcc98c91","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617046.1938932} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"67ca2df0fe417e7ebd0e4e75589da856","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:06.193755709Z"}]},"request_id":"17be3ea1-dee4-4938-8f14-8dba4bb605ec","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617046.198435} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"67ca2df0fe417e7ebd0e4e75589da856","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"67ca2df0fe417e7ebd0e4e75589da856"} gateway-1 | {"time_local":"02/Apr/2025:18:04: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.127","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"67ca2df0fe417e7ebd0e4e75589da856"} device-1 | {"level":"info","message":"POST /devices? 201 121ms","method":"POST","requestID":"67ca2df0fe417e7ebd0e4e75589da856","responseTime":121,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0Nn0.Y5kuzp8KFTz9-TinuLi85XiDtRYdMume2gq2V9Uawfs","level":"info","message":"auth send jwt","requestID":"89cf7ec27d78702efdb9d09455e9b447"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"89cf7ec27d78702efdb9d09455e9b447","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"89cf7ec27d78702efdb9d09455e9b447"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.87331,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"89cf7ec27d78702efdb9d09455e9b447","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617046,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0Nn0.Y5kuzp8KFTz9-TinuLi85XiDtRYdMume2gq2V9Uawfs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"89cf7ec27d78702efdb9d09455e9b447","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"346d7305-632b-47a4-81dc-9ce588250622","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617046.2456024} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"89cf7ec27d78702efdb9d09455e9b447","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b96b46b1-b52d-474a-9cfc-439343cd58de","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617046.250767} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"89cf7ec27d78702efdb9d09455e9b447","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"06eb7560-a7bf-4d60-8c74-d94a8bd5087d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617046.2831748} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3cf3e11-339b-442d-adf9-2e0c19cac393","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617046.283291} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"89cf7ec27d78702efdb9d09455e9b447","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:06.283153108Z"}]},"request_id":"712b8577-9dd2-484b-a805-a27fe78d4256","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617046.288043} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"89cf7ec27d78702efdb9d09455e9b447","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"89cf7ec27d78702efdb9d09455e9b447"} gateway-1 | {"time_local":"02/Apr/2025:18:04: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.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89cf7ec27d78702efdb9d09455e9b447"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"89cf7ec27d78702efdb9d09455e9b447","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0N30.BybJm078AWUAPDsMh7nWT53fH73q-fGkhSxCr13JwIg","level":"info","message":"auth send jwt","requestID":"1d48a797092f917fd74ace0203083ad3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1d48a797092f917fd74ace0203083ad3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"1d48a797092f917fd74ace0203083ad3"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638432,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1d48a797092f917fd74ace0203083ad3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617047,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0N30.BybJm078AWUAPDsMh7nWT53fH73q-fGkhSxCr13JwIg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1d48a797092f917fd74ace0203083ad3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:06.283153108Z"}]},"request_id":"4f94f051-9ba7-4e58-9940-2cf02ec4f4d4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617047.3796222} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1d48a797092f917fd74ace0203083ad3","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ac82f85-ac3c-418c-839d-6616dd5614d0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617047.3848155} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"1d48a797092f917fd74ace0203083ad3","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:06.283153108Z"}]},"request_id":"7a62c957-13ca-4b5e-84a7-d308d5e5424e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617047.4328856} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1d48a797092f917fd74ace0203083ad3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"1d48a797092f917fd74ace0203083ad3"} gateway-1 | {"time_local":"02/Apr/2025:18:04:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e901c644-d78d-4ed6-8d70-9d17014b774e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.092","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"1d48a797092f917fd74ace0203083ad3"} device-1 | {"level":"info","message":"PATCH /devices/e901c644-d78d-4ed6-8d70-9d17014b774e 200 88ms","method":"PATCH","requestID":"1d48a797092f917fd74ace0203083ad3","responseTime":88,"status":200,"url":"/devices/e901c644-d78d-4ed6-8d70-9d17014b774e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0N30.BybJm078AWUAPDsMh7nWT53fH73q-fGkhSxCr13JwIg","level":"info","message":"auth send jwt","requestID":"4f2f32f4a1a7ffce3732cae882e4962a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4f2f32f4a1a7ffce3732cae882e4962a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4f2f32f4a1a7ffce3732cae882e4962a"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:07Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935577,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4f2f32f4a1a7ffce3732cae882e4962a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617047,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0N30.BybJm078AWUAPDsMh7nWT53fH73q-fGkhSxCr13JwIg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4f2f32f4a1a7ffce3732cae882e4962a","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4f2f32f4a1a7ffce3732cae882e4962a"} gateway-1 | {"time_local":"02/Apr/2025:18:04:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e901c644-d78d-4ed6-8d70-9d17014b774e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"4f2f32f4a1a7ffce3732cae882e4962a"} device-1 | {"level":"info","message":"POST /devices/e901c644-d78d-4ed6-8d70-9d17014b774e/websocket 200 40ms","method":"POST","requestID":"4f2f32f4a1a7ffce3732cae882e4962a","responseTime":40,"status":200,"url":"/devices/e901c644-d78d-4ed6-8d70-9d17014b774e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eb2e0ea24be4c669d08cdac1cbaf5a47","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eb2e0ea24be4c669d08cdac1cbaf5a47","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:04:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/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":"eb2e0ea24be4c669d08cdac1cbaf5a47"} device-1 | {"level":"info","message":"OPTIONS /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/websocket 200 0ms","method":"OPTIONS","requestID":"eb2e0ea24be4c669d08cdac1cbaf5a47","responseTime":0,"status":200,"url":"/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OH0.UFNaU4z-WZTmPuaTjfmeevsj85OzBoEi6BksVcobYbk","level":"info","message":"auth send jwt","requestID":"d4da2ead4a0decf53af7f913179fbad3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d4da2ead4a0decf53af7f913179fbad3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d4da2ead4a0decf53af7f913179fbad3"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71882,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d4da2ead4a0decf53af7f913179fbad3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617048,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OH0.UFNaU4z-WZTmPuaTjfmeevsj85OzBoEi6BksVcobYbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d4da2ead4a0decf53af7f913179fbad3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d4da2ead4a0decf53af7f913179fbad3"} device-1 | {"level":"info","message":"POST /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/websocket 200 17ms","method":"POST","requestID":"d4da2ead4a0decf53af7f913179fbad3","responseTime":18,"status":200,"url":"/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:04:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d4da2ead4a0decf53af7f913179fbad3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OH0.UFNaU4z-WZTmPuaTjfmeevsj85OzBoEi6BksVcobYbk","level":"info","message":"auth send jwt","requestID":"9d20f55c16032b8d8c3950f03a9a0f8f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9d20f55c16032b8d8c3950f03a9a0f8f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d20f55c16032b8d8c3950f03a9a0f8f"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.295766,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"9d20f55c16032b8d8c3950f03a9a0f8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617048,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OH0.UFNaU4z-WZTmPuaTjfmeevsj85OzBoEi6BksVcobYbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9d20f55c16032b8d8c3950f03a9a0f8f","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:06.193755709Z"}]},"request_id":"69552036-e6ad-4518-8687-d3104f896607","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617048.7446005} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"9d20f55c16032b8d8c3950f03a9a0f8f","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d20f55c16032b8d8c3950f03a9a0f8f"} gateway-1 | {"time_local":"02/Apr/2025:18:04:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc? 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":"9d20f55c16032b8d8c3950f03a9a0f8f"} device-1 | {"level":"info","message":"GET /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc? 200 36ms","method":"GET","requestID":"9d20f55c16032b8d8c3950f03a9a0f8f","responseTime":36,"status":200,"url":"/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OH0.UFNaU4z-WZTmPuaTjfmeevsj85OzBoEi6BksVcobYbk","level":"info","message":"auth send jwt","requestID":"a24c85ed5dddbe0e658ad085ff88821a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a24c85ed5dddbe0e658ad085ff88821a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a24c85ed5dddbe0e658ad085ff88821a"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.780266,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"a24c85ed5dddbe0e658ad085ff88821a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617048,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OH0.UFNaU4z-WZTmPuaTjfmeevsj85OzBoEi6BksVcobYbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a24c85ed5dddbe0e658ad085ff88821a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:06.283153108Z"}]},"request_id":"6f61bf10-ea1a-4201-acaf-048617bb95ea","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617048.7838135} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a24c85ed5dddbe0e658ad085ff88821a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a24c85ed5dddbe0e658ad085ff88821a"} gateway-1 | {"time_local":"02/Apr/2025:18:04:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e901c644-d78d-4ed6-8d70-9d17014b774e? 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":"a24c85ed5dddbe0e658ad085ff88821a"} device-1 | {"level":"info","message":"GET /devices/e901c644-d78d-4ed6-8d70-9d17014b774e? 200 10ms","method":"GET","requestID":"a24c85ed5dddbe0e658ad085ff88821a","responseTime":10,"status":200,"url":"/devices/e901c644-d78d-4ed6-8d70-9d17014b774e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OH0.UFNaU4z-WZTmPuaTjfmeevsj85OzBoEi6BksVcobYbk","level":"info","message":"auth send jwt","requestID":"fa512a8f770e0e179a5ede44838681b8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fa512a8f770e0e179a5ede44838681b8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"fa512a8f770e0e179a5ede44838681b8"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.727592,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fa512a8f770e0e179a5ede44838681b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617048,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OH0.UFNaU4z-WZTmPuaTjfmeevsj85OzBoEi6BksVcobYbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fa512a8f770e0e179a5ede44838681b8","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Attempting to run experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Attempting to book experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Successfully booked experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dfca7010-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dfcabe30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.077384,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dfca7010-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617048,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OH0.UFNaU4z-WZTmPuaTjfmeevsj85OzBoEi6BksVcobYbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dfca7010-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.676161,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dfcabe30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617048,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OH0.UFNaU4z-WZTmPuaTjfmeevsj85OzBoEi6BksVcobYbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"dfcabe30-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:06.193755709Z"}]},"request_id":"74a9c659-87e2-40f7-883e-60b1a7f4009d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617048.9883802} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dfca7010-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:06.283153108Z"}]},"request_id":"72df56f8-4a03-4530-af12-26b505ab576f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617048.991987} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dfcabe30-0fec-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dfca7010-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc? 200 17ms","method":"GET","requestID":"dfca7010-0fec-11f0-b95a-67cf87457f46","responseTime":17,"status":200,"url":"/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dfcabe30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/e901c644-d78d-4ed6-8d70-9d17014b774e? 200 16ms","method":"GET","requestID":"dfcabe30-0fec-11f0-b95a-67cf87457f46","responseTime":16,"status":200,"url":"/devices/e901c644-d78d-4ed6-8d70-9d17014b774e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Setting up experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Successfully locked booking for experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Attempting to update booking for experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Successfully updated booking for experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Successfully set up experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dfd91610-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dfd93d20-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Successfully running experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.867387,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:09Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dfd9b250-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dfd91610-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617048,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OH0.UFNaU4z-WZTmPuaTjfmeevsj85OzBoEi6BksVcobYbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dfd91610-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.812686,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dfd93d20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617048,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OH0.UFNaU4z-WZTmPuaTjfmeevsj85OzBoEi6BksVcobYbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dfd93d20-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9bc6eba1-c177-47e1-ae4c-6cd0d5d66da7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.1083865} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:06.283153108Z"}]},"request_id":"f6f0ac6e-3f34-4866-95aa-918b2c25a57e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.1097288} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.336093,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dfd9b250-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","object_type":"device","rebac_allow":false,"scope_allow":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":"dfd9b250-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"dfd93d20-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:06.193755709Z"}]},"request_id":"dc9a06b4-43be-4a70-8227-90b6a5d16656","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.1106243} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"dfd91610-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F71303757-4a0f-4067-b6c3-ecbc20549a88#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F71303757-4a0f-4067-b6c3-ecbc20549a88","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"30515655-9be4-421c-accb-057a1f8839d4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.1147637} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac34c582-1eb9-4cc6-9366-3527bff72f73","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.115035} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"fa512a8f770e0e179a5ede44838681b8","responseTime":39,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dfd9b250-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/signaling 200 43ms","method":"POST","requestID":"dfd9b250-0fec-11f0-b95a-67cf87457f46","responseTime":43,"status":200,"url":"/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dfd93d20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/e901c644-d78d-4ed6-8d70-9d17014b774e? 200 50ms","method":"GET","requestID":"dfd93d20-0fec-11f0-b95a-67cf87457f46","responseTime":50,"status":200,"url":"/devices/e901c644-d78d-4ed6-8d70-9d17014b774e?"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"fa512a8f770e0e179a5ede44838681b8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 334ms","method":"POST","requestID":"fa512a8f770e0e179a5ede44838681b8","responseTime":334,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.338","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa512a8f770e0e179a5ede44838681b8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dfe12c60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dfd91610-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc? 200 80ms","method":"GET","requestID":"dfd91610-0fec-11f0-b95a-67cf87457f46","responseTime":80,"status":200,"url":"/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc?"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bbe334aa-39ae-4c99-be31-beaea1afb1db","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.1564603} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dfe5c040-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OX0.Kt4nwiFgQshxigea_yqMLmi6lE5X297ZNNs2nnPx1dc","level":"info","message":"auth send jwt","requestID":"d2972d092e67212c6d0c86baf75b95d5"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.639836,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:09Z"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d2972d092e67212c6d0c86baf75b95d5","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dfe12c60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","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":"d2972d092e67212c6d0c86baf75b95d5"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"dfe12c60-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908624,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:09Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dfe12c60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/e901c644-d78d-4ed6-8d70-9d17014b774e/signaling 200 38ms","method":"POST","requestID":"dfe12c60-0fec-11f0-b95a-67cf87457f46","responseTime":38,"status":200,"url":"/devices/e901c644-d78d-4ed6-8d70-9d17014b774e/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d2972d092e67212c6d0c86baf75b95d5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617049,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OX0.Kt4nwiFgQshxigea_yqMLmi6lE5X297ZNNs2nnPx1dc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2972d092e67212c6d0c86baf75b95d5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c7f8bcf-d6a4-4db4-9f7b-77dcc3c21a42","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.1631243} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.204552,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dfe5c040-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","object_type":"device","rebac_allow":false,"scope_allow":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":"dfe5c040-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:06.193755709Z"}]},"request_id":"b783f828-edbb-4bd7-94f3-5de3d54c7341","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.1688147} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dfe5c040-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/signaling 200 13ms","method":"POST","requestID":"dfe5c040-0fec-11f0-b95a-67cf87457f46","responseTime":13,"status":200,"url":"/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d2972d092e67212c6d0c86baf75b95d5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dfe80a30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2972d092e67212c6d0c86baf75b95d5"} gateway-1 | {"time_local":"02/Apr/2025:18:04:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2972d092e67212c6d0c86baf75b95d5"} device-1 | {"level":"info","message":"GET /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc? 200 14ms","method":"GET","requestID":"d2972d092e67212c6d0c86baf75b95d5","responseTime":14,"status":200,"url":"/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc?"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67b865b7-fb9e-4f82-88b3-51c7392f41f9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.175443} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.647891,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dfe80a30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OX0.Kt4nwiFgQshxigea_yqMLmi6lE5X297ZNNs2nnPx1dc","level":"info","message":"auth send jwt","requestID":"643c4ba90a2becd7d967a412555ed2c8"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"643c4ba90a2becd7d967a412555ed2c8","responseTime":26,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"dfe80a30-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"643c4ba90a2becd7d967a412555ed2c8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dfe80a30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/e901c644-d78d-4ed6-8d70-9d17014b774e/signaling 200 37ms","method":"POST","requestID":"dfe80a30-0fec-11f0-b95a-67cf87457f46","responseTime":37,"status":200,"url":"/devices/e901c644-d78d-4ed6-8d70-9d17014b774e/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:09Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Building connection plan","requestID":"fa512a8f770e0e179a5ede44838681b8"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.974457,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:09Z"} 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":"ab7e24f5-88c0-4a36-b5a1-57723a968a9c"},{"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":"a8f34bcb-5287-4a4b-b427-5762a4c601b3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"899b9196-46ae-4913-9e50-eff9d9b5aabd"}]},"level":"info","message":"Built pairwise service configurations","requestID":"fa512a8f770e0e179a5ede44838681b8"} 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/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc"},{"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/e901c644-d78d-4ed6-8d70-9d17014b774e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"fa512a8f770e0e179a5ede44838681b8"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"643c4ba90a2becd7d967a412555ed2c8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617049,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OX0.Kt4nwiFgQshxigea_yqMLmi6lE5X297ZNNs2nnPx1dc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"643c4ba90a2becd7d967a412555ed2c8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"dfedfda0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.8506,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dfedfda0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617048,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA0OH0.UFNaU4z-WZTmPuaTjfmeevsj85OzBoEi6BksVcobYbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dfedfda0-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:06.283153108Z"}]},"request_id":"95ba4587-5330-4572-9208-2648ef439bea","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.2151647} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"643c4ba90a2becd7d967a412555ed2c8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"643c4ba90a2becd7d967a412555ed2c8"} gateway-1 | {"time_local":"02/Apr/2025:18:04:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e901c644-d78d-4ed6-8d70-9d17014b774e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"643c4ba90a2becd7d967a412555ed2c8"} device-1 | {"level":"info","message":"GET /devices/e901c644-d78d-4ed6-8d70-9d17014b774e? 200 15ms","method":"GET","requestID":"643c4ba90a2becd7d967a412555ed2c8","responseTime":15,"status":200,"url":"/devices/e901c644-d78d-4ed6-8d70-9d17014b774e?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"47ec6d1e-b049-4616-9608-022791561f3b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.2506592} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5cac555-9151-4e13-8abe-efc2673ff156","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.2508168} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"dfedfda0-0fec-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"dfedfda0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"dfedfda0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af'","requestID":"dfedfda0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af'","requestID":"dfedfda0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"dfedfda0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 92ms","method":"POST","requestID":"dfedfda0-0fec-11f0-b95a-67cf87457f46","responseTime":92,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"dfedfda0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af","device":"db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"device":"db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"fa512a8f770e0e179a5ede44838681b8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e004b9f0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be716506-95e6-48d5-83bd-a4611bc100fa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.3628097} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.25031,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e004b9f0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","object_type":"device","rebac_allow":false,"scope_allow":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":"e004b9f0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e004b9f0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/signaling 200 8ms","method":"POST","requestID":"e004b9f0-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0061980-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"59a71842-faa8-4515-930c-1ac7c81c29e4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617049.3972304} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.036702,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e0061980-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","object_type":"device","rebac_allow":false,"scope_allow":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":"e0061980-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0061980-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/e901c644-d78d-4ed6-8d70-9d17014b774e/signaling 200 34ms","method":"POST","requestID":"e0061980-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/e901c644-d78d-4ed6-8d70-9d17014b774e/signaling"} device-1 | {"device":"e901c644-d78d-4ed6-8d70-9d17014b774e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"5b029b11-20bf-4d49-a184-0ce723d162af","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 3892079696493470332 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:jOlf\r\na=ice-pwd:ZSk4GdZl2Wq5+s5FvJKF5hS8\r\na=ice-options:trickle\r\na=fingerprint:sha-256 3A:A4:73:AB:D4:7D:BF:B5:CB:33:63:77:78:B7:33:16:6C:C2:B3:1F:D0:41:84:20:01:29:1B:1A:E5:E7:01:64\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:640644787 1 udp 2113937151 f61d04c4-b044-4462-afe7-4f7b21c4d3ad.local 56962 typ host generation 0 ufrag jOlf network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b029b11-20bf-4d49-a184-0ce723d162af","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"e901c644-d78d-4ed6-8d70-9d17014b774e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e901c644-d78d-4ed6-8d70-9d17014b774e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e901c644-d78d-4ed6-8d70-9d17014b774e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1686ebb0f4b92cfddca28b1c228ddd8c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1686ebb0f4b92cfddca28b1c228ddd8c","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc"},{"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/e901c644-d78d-4ed6-8d70-9d17014b774e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af"}}},"level":"info","message":"received a callback","requestID":"1686ebb0f4b92cfddca28b1c228ddd8c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"1686ebb0f4b92cfddca28b1c228ddd8c","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04: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.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"1686ebb0f4b92cfddca28b1c228ddd8c"} device-1 | {"device":"e901c644-d78d-4ed6-8d70-9d17014b774e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e901c644-d78d-4ed6-8d70-9d17014b774e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"5b029b11-20bf-4d49-a184-0ce723d162af","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5b029b11-20bf-4d49-a184-0ce723d162af","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/5b029b11-20bf-4d49-a184-0ce723d162af' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b029b11-20bf-4d49-a184-0ce723d162af","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"833115c2096beb6192dacff56ac4ae07","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"833115c2096beb6192dacff56ac4ae07","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/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc"},{"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/e901c644-d78d-4ed6-8d70-9d17014b774e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af"}}},"level":"info","message":"received a callback","requestID":"833115c2096beb6192dacff56ac4ae07"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e1477320-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b029b11-20bf-4d49-a184-0ce723d162af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"901ad579-4d95-46a0-b3b6-088c8949e77a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.4781258} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.442029,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e1477320-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af","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":"e1477320-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e1477320-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af 200 32ms","method":"GET","requestID":"e1477320-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1MX0._yXMvFWwwzaq1G0tEXS-z1ZRIWfS8F1dw_aEMYvnCBg","level":"info","message":"auth send jwt","requestID":"37df266d9c1d2fdb646834da25ac4335"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"37df266d9c1d2fdb646834da25ac4335","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/71303757-4a0f-4067-b6c3-ecbc20549a88","requestID":"37df266d9c1d2fdb646834da25ac4335"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.649055,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"37df266d9c1d2fdb646834da25ac4335","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617051,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1MX0._yXMvFWwwzaq1G0tEXS-z1ZRIWfS8F1dw_aEMYvnCBg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"37df266d9c1d2fdb646834da25ac4335","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 59ms","method":"POST","requestID":"833115c2096beb6192dacff56ac4ae07","responseTime":59,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04: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.061","http_referrer":"","http_user_agent":"node-fetch","requestID":"833115c2096beb6192dacff56ac4ae07"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e14fb080-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e806c8e-26a8-4dcf-98e2-55d83da840b9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.5580895} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.351215,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e14fb080-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e14fb080-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/71303757-4a0f-4067-b6c3-ecbc20549a88","requestID":"37df266d9c1d2fdb646834da25ac4335"} gateway-1 | {"time_local":"02/Apr/2025:18:04:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/71303757-4a0f-4067-b6c3-ecbc20549a88 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37df266d9c1d2fdb646834da25ac4335"} experiment-1 | {"level":"info","message":"GET /experiments/71303757-4a0f-4067-b6c3-ecbc20549a88 200 52ms","method":"GET","requestID":"37df266d9c1d2fdb646834da25ac4335","responseTime":52,"status":200,"url":"/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e14fb080-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/signaling 200 35ms","method":"POST","requestID":"e14fb080-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1MX0._yXMvFWwwzaq1G0tEXS-z1ZRIWfS8F1dw_aEMYvnCBg","level":"info","message":"auth send jwt","requestID":"f5b34c3ac8ec32393cfd131a07410508"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e1557ce0-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f5b34c3ac8ec32393cfd131a07410508","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/71303757-4a0f-4067-b6c3-ecbc20549a88","requestID":"f5b34c3ac8ec32393cfd131a07410508"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.787026,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f5b34c3ac8ec32393cfd131a07410508","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617051,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1MX0._yXMvFWwwzaq1G0tEXS-z1ZRIWfS8F1dw_aEMYvnCBg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f5b34c3ac8ec32393cfd131a07410508","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b7a28c6-e08d-4806-a50f-b3ffabb0b48a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.5710337} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.668445,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e1557ce0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e1557ce0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e1557ce0-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Attempting to finish experiment","requestID":"f5b34c3ac8ec32393cfd131a07410508"} device-1 | {"level":"info","message":"POST /devices/e901c644-d78d-4ed6-8d70-9d17014b774e/signaling 200 35ms","method":"POST","requestID":"e1557ce0-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/e901c644-d78d-4ed6-8d70-9d17014b774e/signaling"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e15ad410-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.721196,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e15ad410-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617051,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1MX0._yXMvFWwwzaq1G0tEXS-z1ZRIWfS8F1dw_aEMYvnCBg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e15ad410-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af","device":"db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"e901c644-d78d-4ed6-8d70-9d17014b774e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e901c644-d78d-4ed6-8d70-9d17014b774e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e901c644-d78d-4ed6-8d70-9d17014b774e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b029b11-20bf-4d49-a184-0ce723d162af","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b029b11-20bf-4d49-a184-0ce723d162af': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b029b11-20bf-4d49-a184-0ce723d162af","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"d5f73824-5f1f-47b2-b776-0a73ce703bfe","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.6173623} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b7a6fb6-ac32-416c-95ff-76495d8f1ce4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.6176596} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fc1cdbc6588cfda5bba80eca1ff5a517","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"fc1cdbc6588cfda5bba80eca1ff5a517","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"84480ccf3140bb276461993113c2ca19","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc"},{"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/e901c644-d78d-4ed6-8d70-9d17014b774e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af"}}},"level":"info","message":"received a callback","requestID":"fc1cdbc6588cfda5bba80eca1ff5a517"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"84480ccf3140bb276461993113c2ca19","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/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc"},{"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/e901c644-d78d-4ed6-8d70-9d17014b774e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af"}}},"level":"info","message":"received a callback","requestID":"84480ccf3140bb276461993113c2ca19"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"e15ad410-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"5b029b11-20bf-4d49-a184-0ce723d162af","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e15ad410-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af 204 62ms","method":"DELETE","requestID":"e15ad410-0fec-11f0-b95a-67cf87457f46","responseTime":62,"status":204,"url":"/peerconnections/5b029b11-20bf-4d49-a184-0ce723d162af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"},"level":"info","message":"Successfully finished experiment","requestID":"f5b34c3ac8ec32393cfd131a07410508"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e16a3d60-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb800fe0-0a9d-4020-bd3c-e4d0182e3dfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"51ba23a4-b0cb-4906-9505-f6c001fbca4a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.7065988} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.684555,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e16a3d60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e16a3d60-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e16a3d60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/signaling 200 9ms","method":"POST","requestID":"e16a3d60-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e16bc400-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F71303757-4a0f-4067-b6c3-ecbc20549a88': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F71303757-4a0f-4067-b6c3-ecbc20549a88","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"7bab54ce-901f-4f3a-abbd-cb6e5949410e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.7141094} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a900154d-cd1f-49f4-9ff5-19dacc681348","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.7143254} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"f5b34c3ac8ec32393cfd131a07410508","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe901c644-d78d-4ed6-8d70-9d17014b774e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c7471ce-dea8-4654-ab6c-0578b1bc201f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.7165735} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.974081,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e16bc400-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e16bc400-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e16bc400-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/e901c644-d78d-4ed6-8d70-9d17014b774e/signaling 200 34ms","method":"POST","requestID":"e16bc400-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/e901c644-d78d-4ed6-8d70-9d17014b774e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/71303757-4a0f-4067-b6c3-ecbc20549a88","requestID":"f5b34c3ac8ec32393cfd131a07410508"} gateway-1 | {"time_local":"02/Apr/2025:18:04:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/71303757-4a0f-4067-b6c3-ecbc20549a88 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.283","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5b34c3ac8ec32393cfd131a07410508"} experiment-1 | {"level":"info","message":"DELETE /experiments/71303757-4a0f-4067-b6c3-ecbc20549a88 204 279ms","method":"DELETE","requestID":"f5b34c3ac8ec32393cfd131a07410508","responseTime":279,"status":204,"url":"/experiments/71303757-4a0f-4067-b6c3-ecbc20549a88"} gateway-1 | {"time_local":"02/Apr/2025:18:04:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2528","request_time":"4.364","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"cbe394c43e3836b10bad83538bfa8b1d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 230ms","method":"POST","requestID":"fc1cdbc6588cfda5bba80eca1ff5a517","responseTime":230,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04: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.232","http_referrer":"","http_user_agent":"node-fetch","requestID":"fc1cdbc6588cfda5bba80eca1ff5a517"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 230ms","method":"POST","requestID":"84480ccf3140bb276461993113c2ca19","responseTime":230,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04: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.232","http_referrer":"","http_user_agent":"node-fetch","requestID":"84480ccf3140bb276461993113c2ca19"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1MX0._yXMvFWwwzaq1G0tEXS-z1ZRIWfS8F1dw_aEMYvnCBg","level":"info","message":"auth send jwt","requestID":"63e8ba470fdfef0b109474c407387550"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"63e8ba470fdfef0b109474c407387550","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"63e8ba470fdfef0b109474c407387550"} gateway-1 | {"time_local":"02/Apr/2025:18:04:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2403","request_time":"3.154","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b864ff24d9e6c4bea880632925352394"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.119075,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"63e8ba470fdfef0b109474c407387550","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617051,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1MX0._yXMvFWwwzaq1G0tEXS-z1ZRIWfS8F1dw_aEMYvnCBg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"63e8ba470fdfef0b109474c407387550","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e901c644-d78d-4ed6-8d70-9d17014b774e' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ffbab7a3-9023-4741-ba0c-133be7330f4f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.9024253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"63e8ba470fdfef0b109474c407387550","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1038f20e-f2e9-4037-8b2b-e02c46ba8ddc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.9074056} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/db800fe0-0a9d-4020-bd3c-e4d0182e3dfc' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"63e8ba470fdfef0b109474c407387550","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"708720c2-200e-4cd0-8952-e3d945d7c616","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.9406095} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba69fea7-f81f-4940-a898-a13238c596a5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.940714} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"63e8ba470fdfef0b109474c407387550","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:11.940589840Z"}]},"request_id":"125d3b98-a30e-4cb9-b6a9-978fd3b2001b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617051.9455686} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"63e8ba470fdfef0b109474c407387550","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"63e8ba470fdfef0b109474c407387550"} gateway-1 | {"time_local":"02/Apr/2025:18:04: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.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"63e8ba470fdfef0b109474c407387550"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"63e8ba470fdfef0b109474c407387550","responseTime":92,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1MX0._yXMvFWwwzaq1G0tEXS-z1ZRIWfS8F1dw_aEMYvnCBg","level":"info","message":"auth send jwt","requestID":"a959a7c1393694b4b44b17ba3fe44b67"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a959a7c1393694b4b44b17ba3fe44b67","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a959a7c1393694b4b44b17ba3fe44b67"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.710342,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"a959a7c1393694b4b44b17ba3fe44b67","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617051,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1MX0._yXMvFWwwzaq1G0tEXS-z1ZRIWfS8F1dw_aEMYvnCBg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a959a7c1393694b4b44b17ba3fe44b67","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6ff75c0a-ed1e-4a80-9baa-077e97c5d972","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617052.0339305} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"a959a7c1393694b4b44b17ba3fe44b67","responseTime":23,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16242900-12c8-4850-9421-4b0c08511c6e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617052.03961} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a959a7c1393694b4b44b17ba3fe44b67","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"6c4abbf3-2623-4bf7-aa9a-3a97b3ec1ed7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617052.0522518} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8df04932-60e5-4688-b2a5-60f9c7e05e69","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617052.0524983} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"a959a7c1393694b4b44b17ba3fe44b67","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:12.052224445Z"}]},"request_id":"0b607b52-c997-4042-bdd0-9ce1daea49a6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617052.055947} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a959a7c1393694b4b44b17ba3fe44b67","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a959a7c1393694b4b44b17ba3fe44b67"} gateway-1 | {"time_local":"02/Apr/2025:18:04:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a959a7c1393694b4b44b17ba3fe44b67"} device-1 | {"level":"info","message":"POST /devices? 201 126ms","method":"POST","requestID":"a959a7c1393694b4b44b17ba3fe44b67","responseTime":126,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1M30.6tY0frEjrXDMhwe0QycvIXXhhBAzZYIUsqYAj0-Uwgo","level":"info","message":"auth send jwt","requestID":"cb6aba3d84123d20f33229d550350153"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cb6aba3d84123d20f33229d550350153","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"cb6aba3d84123d20f33229d550350153"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:13Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.890559,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cb6aba3d84123d20f33229d550350153","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617053,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1M30.6tY0frEjrXDMhwe0QycvIXXhhBAzZYIUsqYAj0-Uwgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"cb6aba3d84123d20f33229d550350153","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:11.940589840Z"}]},"request_id":"8eac9f00-ca66-4d67-ac21-aa4389febf7a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617053.097729} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cb6aba3d84123d20f33229d550350153","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36010122-4023-44c2-8794-c2052a9cdac4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617053.1028397} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"cb6aba3d84123d20f33229d550350153","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:11.940589840Z"}]},"request_id":"10acc79f-a286-4111-a736-308f1443603f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617053.1382287} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"cb6aba3d84123d20f33229d550350153","responseTime":23,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"cb6aba3d84123d20f33229d550350153"} device-1 | {"level":"info","message":"PATCH /devices/4134427f-d31d-4998-9b66-3ad805ca83fc 200 74ms","method":"PATCH","requestID":"cb6aba3d84123d20f33229d550350153","responseTime":74,"status":200,"url":"/devices/4134427f-d31d-4998-9b66-3ad805ca83fc"} gateway-1 | {"time_local":"02/Apr/2025:18:04:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4134427f-d31d-4998-9b66-3ad805ca83fc HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.077","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"cb6aba3d84123d20f33229d550350153"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1M30.6tY0frEjrXDMhwe0QycvIXXhhBAzZYIUsqYAj0-Uwgo","level":"info","message":"auth send jwt","requestID":"dc86a7f6f18e3245de95f87c31389ad0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dc86a7f6f18e3245de95f87c31389ad0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"dc86a7f6f18e3245de95f87c31389ad0"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:13Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.671701,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc86a7f6f18e3245de95f87c31389ad0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617053,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1M30.6tY0frEjrXDMhwe0QycvIXXhhBAzZYIUsqYAj0-Uwgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dc86a7f6f18e3245de95f87c31389ad0","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"dc86a7f6f18e3245de95f87c31389ad0"} gateway-1 | {"time_local":"02/Apr/2025:18:04:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4134427f-d31d-4998-9b66-3ad805ca83fc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"dc86a7f6f18e3245de95f87c31389ad0"} device-1 | {"level":"info","message":"POST /devices/4134427f-d31d-4998-9b66-3ad805ca83fc/websocket 200 16ms","method":"POST","requestID":"dc86a7f6f18e3245de95f87c31389ad0","responseTime":16,"status":200,"url":"/devices/4134427f-d31d-4998-9b66-3ad805ca83fc/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"64feb14b554b66c34126f20da3442b10","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"64feb14b554b66c34126f20da3442b10","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:04:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/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":"64feb14b554b66c34126f20da3442b10"} device-1 | {"level":"info","message":"OPTIONS /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/websocket 200 1ms","method":"OPTIONS","requestID":"64feb14b554b66c34126f20da3442b10","responseTime":1,"status":200,"url":"/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1NH0.i1Bg_0U_GpG6mErZyPp4c2gUSAt5WrFRA3nDcptR3UY","level":"info","message":"auth send jwt","requestID":"ff5dbe7a9e064a393a591a1cd274366b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ff5dbe7a9e064a393a591a1cd274366b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ff5dbe7a9e064a393a591a1cd274366b"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:14Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.749913,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ff5dbe7a9e064a393a591a1cd274366b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617054,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1NH0.i1Bg_0U_GpG6mErZyPp4c2gUSAt5WrFRA3nDcptR3UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ff5dbe7a9e064a393a591a1cd274366b","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ff5dbe7a9e064a393a591a1cd274366b"} gateway-1 | {"time_local":"02/Apr/2025:18:04:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.220","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ff5dbe7a9e064a393a591a1cd274366b"} device-1 | {"level":"info","message":"POST /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/websocket 200 216ms","method":"POST","requestID":"ff5dbe7a9e064a393a591a1cd274366b","responseTime":216,"status":200,"url":"/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1NH0.i1Bg_0U_GpG6mErZyPp4c2gUSAt5WrFRA3nDcptR3UY","level":"info","message":"auth send jwt","requestID":"6a415c46d6cb6d8fa03a69782aaac0a2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6a415c46d6cb6d8fa03a69782aaac0a2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6a415c46d6cb6d8fa03a69782aaac0a2"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:14Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762047,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"6a415c46d6cb6d8fa03a69782aaac0a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617054,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1NH0.i1Bg_0U_GpG6mErZyPp4c2gUSAt5WrFRA3nDcptR3UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6a415c46d6cb6d8fa03a69782aaac0a2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:11.940589840Z"}]},"request_id":"6f9676d7-010d-4c89-a36e-ff207625e51c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617054.7328498} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6a415c46d6cb6d8fa03a69782aaac0a2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6a415c46d6cb6d8fa03a69782aaac0a2"} gateway-1 | {"time_local":"02/Apr/2025:18:04:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4134427f-d31d-4998-9b66-3ad805ca83fc? 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":"6a415c46d6cb6d8fa03a69782aaac0a2"} device-1 | {"level":"info","message":"GET /devices/4134427f-d31d-4998-9b66-3ad805ca83fc? 200 11ms","method":"GET","requestID":"6a415c46d6cb6d8fa03a69782aaac0a2","responseTime":11,"status":200,"url":"/devices/4134427f-d31d-4998-9b66-3ad805ca83fc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1NH0.i1Bg_0U_GpG6mErZyPp4c2gUSAt5WrFRA3nDcptR3UY","level":"info","message":"auth send jwt","requestID":"5b8e901e729b2dcdc6f5428b2fedeecf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5b8e901e729b2dcdc6f5428b2fedeecf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5b8e901e729b2dcdc6f5428b2fedeecf"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:14Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638263,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"5b8e901e729b2dcdc6f5428b2fedeecf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617054,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1NH0.i1Bg_0U_GpG6mErZyPp4c2gUSAt5WrFRA3nDcptR3UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5b8e901e729b2dcdc6f5428b2fedeecf","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:12.052224445Z"}]},"request_id":"b9112a89-049d-4992-8216-397d81625bf2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617054.7464669} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5b8e901e729b2dcdc6f5428b2fedeecf","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5b8e901e729b2dcdc6f5428b2fedeecf"} device-1 | {"level":"info","message":"GET /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971? 200 22ms","method":"GET","requestID":"5b8e901e729b2dcdc6f5428b2fedeecf","responseTime":22,"status":200,"url":"/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971? 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":"5b8e901e729b2dcdc6f5428b2fedeecf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1NH0.i1Bg_0U_GpG6mErZyPp4c2gUSAt5WrFRA3nDcptR3UY","level":"info","message":"auth send jwt","requestID":"c403e638ae9d17cb3bc55103baf35d79"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c403e638ae9d17cb3bc55103baf35d79","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c403e638ae9d17cb3bc55103baf35d79"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:14Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.683033,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c403e638ae9d17cb3bc55103baf35d79","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617054,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1NH0.i1Bg_0U_GpG6mErZyPp4c2gUSAt5WrFRA3nDcptR3UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c403e638ae9d17cb3bc55103baf35d79","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Attempting to run experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Attempting to book experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Successfully booked experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e37130f0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e371cd30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.879934,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e37130f0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617054,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1NH0.i1Bg_0U_GpG6mErZyPp4c2gUSAt5WrFRA3nDcptR3UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e37130f0-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.961535,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e371cd30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617054,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1NH0.i1Bg_0U_GpG6mErZyPp4c2gUSAt5WrFRA3nDcptR3UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e371cd30-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:11.940589840Z"}]},"request_id":"9e4c2522-8524-4ba9-a71c-9cd4e605060d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617055.115686} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e37130f0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e37130f0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:12.052224445Z"}]},"request_id":"30a20180-928a-4119-9add-251befa4419e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617055.118474} device-1 | {"level":"info","message":"GET /devices/4134427f-d31d-4998-9b66-3ad805ca83fc? 200 16ms","method":"GET","requestID":"e37130f0-0fec-11f0-b95a-67cf87457f46","responseTime":16,"status":200,"url":"/devices/4134427f-d31d-4998-9b66-3ad805ca83fc?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e371cd30-0fec-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e371cd30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971? 200 14ms","method":"GET","requestID":"e371cd30-0fec-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Setting up experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Successfully set up experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e3d3c350-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e3d3ea60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e3d43880-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Successfully running experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.108786,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e3d3c350-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617054,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1NH0.i1Bg_0U_GpG6mErZyPp4c2gUSAt5WrFRA3nDcptR3UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e3d3c350-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.811721,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e3d3ea60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617054,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1NH0.i1Bg_0U_GpG6mErZyPp4c2gUSAt5WrFRA3nDcptR3UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e3d3ea60-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.772411,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d7d8ef6-daf6-4b92-837c-85e370ff38bb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617055.757769} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e3d43880-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e3d43880-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3d43880-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:11.940589840Z"}]},"request_id":"cc7c8688-4ed6-467c-b428-c6ea5a51608d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617055.7618632} device-1 | {"level":"info","message":"POST /devices/4134427f-d31d-4998-9b66-3ad805ca83fc/signaling 200 10ms","method":"POST","requestID":"e3d43880-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/4134427f-d31d-4998-9b66-3ad805ca83fc/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e3d3c350-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:12.052224445Z"}]},"request_id":"93cc8f4c-2e22-404b-ab9e-7a3be5064e2d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617055.7625961} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e3d3ea60-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e3d65b60-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:15Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e3d3c350-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/4134427f-d31d-4998-9b66-3ad805ca83fc? 200 20ms","method":"GET","requestID":"e3d3c350-0fec-11f0-b95a-67cf87457f46","responseTime":20,"status":200,"url":"/devices/4134427f-d31d-4998-9b66-3ad805ca83fc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e3d3ea60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971? 200 20ms","method":"GET","requestID":"e3d3ea60-0fec-11f0-b95a-67cf87457f46","responseTime":20,"status":200,"url":"/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75fe70fa-dcdb-4426-b402-6a53eca0bf84","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617055.7711883} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.598484,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e3d65b60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","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":"e3d745c0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e3d65b60-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3d65b60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/signaling 200 10ms","method":"POST","requestID":"e3d65b60-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c5944d6-ea78-4491-80be-5927b2dc383e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617055.7765188} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.716288,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e3d745c0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e3d745c0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3d745c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/4134427f-d31d-4998-9b66-3ad805ca83fc/signaling 200 8ms","method":"POST","requestID":"e3d745c0-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/4134427f-d31d-4998-9b66-3ad805ca83fc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e3d8cc60-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"515c6c60-d26b-4501-8b08-b0b0e7679246","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617055.786748} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.631859,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e3d8cc60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e3d8cc60-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3d8cc60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/signaling 200 9ms","method":"POST","requestID":"e3d8cc60-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Building connection plan","requestID":"c403e638ae9d17cb3bc55103baf35d79"} 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":"fc91a9e7-cdd5-41e6-b7f4-37e5ce0bf9d7"},{"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":"5303437f-68d6-49fd-a1ee-f1e4a28113a2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4255f9c0-3b87-4b1c-9d2f-4e3e3c6f77e8"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c403e638ae9d17cb3bc55103baf35d79"} 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/4134427f-d31d-4998-9b66-3ad805ca83fc"},{"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/2e92764a-282c-4762-9eeb-68d8e0e2c971"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c403e638ae9d17cb3bc55103baf35d79"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e3da7a10-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.687596,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e3da7a10-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617054,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1NH0.i1Bg_0U_GpG6mErZyPp4c2gUSAt5WrFRA3nDcptR3UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e3da7a10-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ec42b62-b970-47d3-bdc8-50c1daa85a49#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ec42b62-b970-47d3-bdc8-50c1daa85a49","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"747ed0da-007e-41b4-b629-f86d58f5328f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617056.0372224} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52331476-96ea-4b90-89bf-922ce1cd1203","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617056.0375855} authorization-1 | {"level":"info","message":"POST /relations/update 200 286ms","method":"POST","requestID":"c403e638ae9d17cb3bc55103baf35d79","responseTime":286,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"f6e39ba3-e4a9-4d95-babf-5859eaf0948d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617056.0410872} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87404b94-b966-41b7-bd96-c178c66b5273","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617056.0439684} authorization-1 | {"level":"info","message":"POST /relations/update 200 263ms","method":"POST","requestID":"e3da7a10-0fec-11f0-b95a-67cf87457f46","responseTime":263,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c403e638ae9d17cb3bc55103baf35d79"} gateway-1 | {"time_local":"02/Apr/2025:18:04:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"1.303","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c403e638ae9d17cb3bc55103baf35d79"} experiment-1 | {"level":"info","message":"POST /experiments? 201 1299ms","method":"POST","requestID":"c403e638ae9d17cb3bc55103baf35d79","responseTime":1299,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1Nn0.Y4iMuOh5BgYOhS5nhgGMOes-S4r_KS9tI3cDS0b7ji0","level":"info","message":"auth send jwt","requestID":"52e5b907d480b87d9960182ec4c95d01"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"52e5b907d480b87d9960182ec4c95d01","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"52e5b907d480b87d9960182ec4c95d01"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:16Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.873884,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"52e5b907d480b87d9960182ec4c95d01","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617056,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1Nn0.Y4iMuOh5BgYOhS5nhgGMOes-S4r_KS9tI3cDS0b7ji0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"52e5b907d480b87d9960182ec4c95d01","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:11.940589840Z"}]},"request_id":"194ac491-09c9-40ba-852b-c55e4bbd502e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617056.0878282} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"52e5b907d480b87d9960182ec4c95d01","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e3da7a10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e3da7a10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322'","requestID":"e3da7a10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322'","requestID":"e3da7a10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e3da7a10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 527ms","method":"POST","requestID":"e3da7a10-0fec-11f0-b95a-67cf87457f46","responseTime":527,"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":"52e5b907d480b87d9960182ec4c95d01"} device-1 | {"level":"info","message":"GET /devices/4134427f-d31d-4998-9b66-3ad805ca83fc? 200 243ms","method":"GET","requestID":"52e5b907d480b87d9960182ec4c95d01","responseTime":243,"status":200,"url":"/devices/4134427f-d31d-4998-9b66-3ad805ca83fc?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4134427f-d31d-4998-9b66-3ad805ca83fc? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.247","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"52e5b907d480b87d9960182ec4c95d01"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"e3da7a10-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1Nn0.Y4iMuOh5BgYOhS5nhgGMOes-S4r_KS9tI3cDS0b7ji0","level":"info","message":"auth send jwt","requestID":"f1a61f054b5df59f65f1b0185fbfa62e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f1a61f054b5df59f65f1b0185fbfa62e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f1a61f054b5df59f65f1b0185fbfa62e"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:16Z"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322","device":"2e92764a-282c-4762-9eeb-68d8e0e2c971","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.896759,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f1a61f054b5df59f65f1b0185fbfa62e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617056,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1Nn0.Y4iMuOh5BgYOhS5nhgGMOes-S4r_KS9tI3cDS0b7ji0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f1a61f054b5df59f65f1b0185fbfa62e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:12.052224445Z"}]},"request_id":"befa3c4e-5e19-4ffc-8b12-9ea6201185fd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617056.3343275} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f1a61f054b5df59f65f1b0185fbfa62e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f1a61f054b5df59f65f1b0185fbfa62e"} gateway-1 | {"time_local":"02/Apr/2025:18:04:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971? 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":"f1a61f054b5df59f65f1b0185fbfa62e"} device-1 | {"level":"info","message":"GET /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971? 200 10ms","method":"GET","requestID":"f1a61f054b5df59f65f1b0185fbfa62e","responseTime":10,"status":200,"url":"/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971?"} device-1 | {"device":"2e92764a-282c-4762-9eeb-68d8e0e2c971","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"2e92764a-282c-4762-9eeb-68d8e0e2c971","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4014776403059828625 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:Q535\r\na=ice-pwd:Z6KBiZd5e4aXEovL8ZhAldWG\r\na=ice-options:trickle\r\na=fingerprint:sha-256 75:A0:87:B9:52:48:04:3C:2D:9D:CC:6A:79:66:D2:4E:E4:BF:D5:C6:29:19:17:96:7C:20:0B:BB:2C:DD:91:E1\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"2e92764a-282c-4762-9eeb-68d8e0e2c971","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"2e92764a-282c-4762-9eeb-68d8e0e2c971","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c403e638ae9d17cb3bc55103baf35d79"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e4797930-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:16Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2b269fd-146b-4eb6-94fa-be7cad646dcd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617056.8395412} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.253898,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e4797930-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e4797930-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e4797930-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/4134427f-d31d-4998-9b66-3ad805ca83fc/signaling 200 9ms","method":"POST","requestID":"e4797930-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/4134427f-d31d-4998-9b66-3ad805ca83fc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e47b26e0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:16Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bbad7f72-7df5-48de-a09e-60d53e755430","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617056.8499594} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.199207,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e47b26e0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","object_type":"device","rebac_allow":false,"scope_allow":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":"e47b26e0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e47b26e0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/signaling 200 7ms","method":"POST","requestID":"e47b26e0-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/signaling"} device-1 | {"device":"4134427f-d31d-4998-9b66-3ad805ca83fc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c2c2ad62-aba0-4218-a6f6-0161ec65b322","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4134427f-d31d-4998-9b66-3ad805ca83fc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4134427f-d31d-4998-9b66-3ad805ca83fc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4134427f-d31d-4998-9b66-3ad805ca83fc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4134427f-d31d-4998-9b66-3ad805ca83fc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c2c2ad62-aba0-4218-a6f6-0161ec65b322","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cf99360f8faa71b6b7d41efc196c5ed1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"cf99360f8faa71b6b7d41efc196c5ed1","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc"},{"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/2e92764a-282c-4762-9eeb-68d8e0e2c971"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322"}}},"level":"info","message":"received a callback","requestID":"cf99360f8faa71b6b7d41efc196c5ed1"} device-1 | {"content":{"candidate":"candidate:3441759611 1 udp 2113937151 837fab82-36dd-4f09-a3a9-f7454a55a80c.local 39362 typ host generation 0 ufrag Q535 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"2e92764a-282c-4762-9eeb-68d8e0e2c971","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"2e92764a-282c-4762-9eeb-68d8e0e2c971","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"cf99360f8faa71b6b7d41efc196c5ed1","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf99360f8faa71b6b7d41efc196c5ed1"} device-1 | {"device":"4134427f-d31d-4998-9b66-3ad805ca83fc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2e92764a-282c-4762-9eeb-68d8e0e2c971","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"4134427f-d31d-4998-9b66-3ad805ca83fc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c2c2ad62-aba0-4218-a6f6-0161ec65b322","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c2c2ad62-aba0-4218-a6f6-0161ec65b322","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/c2c2ad62-aba0-4218-a6f6-0161ec65b322' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c2c2ad62-aba0-4218-a6f6-0161ec65b322","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"21cd6c3f50d0480a1cbf836e28d9c94f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"21cd6c3f50d0480a1cbf836e28d9c94f","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/4134427f-d31d-4998-9b66-3ad805ca83fc"},{"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/2e92764a-282c-4762-9eeb-68d8e0e2c971"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322"}}},"level":"info","message":"received a callback","requestID":"21cd6c3f50d0480a1cbf836e28d9c94f"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e574f030-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc2c2ad62-aba0-4218-a6f6-0161ec65b322","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e81d75bd-c5fc-41d6-a070-773c439953e5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.4879565} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.664984,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e574f030-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322","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":"e574f030-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e574f030-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322 200 33ms","method":"GET","requestID":"e574f030-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1OH0.x5ploNSRmZ7w-m5mIoqfBixRokO4CuA9p-DkhZkZAJE","level":"info","message":"auth send jwt","requestID":"ae1b1a5abd6a7cdb3b2ae714d141e469"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ae1b1a5abd6a7cdb3b2ae714d141e469","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 59ms","method":"POST","requestID":"21cd6c3f50d0480a1cbf836e28d9c94f","responseTime":59,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e580d710-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49","requestID":"ae1b1a5abd6a7cdb3b2ae714d141e469"} gateway-1 | {"time_local":"02/Apr/2025:18:04:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch","requestID":"21cd6c3f50d0480a1cbf836e28d9c94f"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47df20fd-4b76-4be1-9372-67390c7ce68c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.5659745} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.831884,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.411642,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ae1b1a5abd6a7cdb3b2ae714d141e469","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617058,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1OH0.x5ploNSRmZ7w-m5mIoqfBixRokO4CuA9p-DkhZkZAJE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ae1b1a5abd6a7cdb3b2ae714d141e469","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e580d710-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","object_type":"device","rebac_allow":false,"scope_allow":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":"e580d710-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e580d710-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49","requestID":"ae1b1a5abd6a7cdb3b2ae714d141e469"} device-1 | {"level":"info","message":"POST /devices/4134427f-d31d-4998-9b66-3ad805ca83fc/signaling 200 13ms","method":"POST","requestID":"e580d710-0fec-11f0-b95a-67cf87457f46","responseTime":13,"status":200,"url":"/devices/4134427f-d31d-4998-9b66-3ad805ca83fc/signaling"} experiment-1 | {"level":"info","message":"GET /experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49 200 13ms","method":"GET","requestID":"ae1b1a5abd6a7cdb3b2ae714d141e469","responseTime":13,"status":200,"url":"/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"} gateway-1 | {"time_local":"02/Apr/2025:18:04:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae1b1a5abd6a7cdb3b2ae714d141e469"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1OH0.x5ploNSRmZ7w-m5mIoqfBixRokO4CuA9p-DkhZkZAJE","level":"info","message":"auth send jwt","requestID":"517d7f86848a3f772115c18c49a2e572"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"517d7f86848a3f772115c18c49a2e572","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49","requestID":"517d7f86848a3f772115c18c49a2e572"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e583e450-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":25.021126,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"517d7f86848a3f772115c18c49a2e572","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617058,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1OH0.x5ploNSRmZ7w-m5mIoqfBixRokO4CuA9p-DkhZkZAJE"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"517d7f86848a3f772115c18c49a2e572","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"134b2e3c-24e7-42d2-b7fe-16f2ac18ead7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.6124456} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.662123,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e583e450-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","object_type":"device","rebac_allow":false,"scope_allow":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":"e583e450-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Attempting to finish experiment","requestID":"517d7f86848a3f772115c18c49a2e572"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e58989a0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e583e450-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/signaling 200 40ms","method":"POST","requestID":"e583e450-0fec-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/signaling"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.95492,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e58989a0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617058,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1OH0.x5ploNSRmZ7w-m5mIoqfBixRokO4CuA9p-DkhZkZAJE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e58989a0-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322","device":"2e92764a-282c-4762-9eeb-68d8e0e2c971","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"4134427f-d31d-4998-9b66-3ad805ca83fc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4134427f-d31d-4998-9b66-3ad805ca83fc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4134427f-d31d-4998-9b66-3ad805ca83fc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c2c2ad62-aba0-4218-a6f6-0161ec65b322","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc2c2ad62-aba0-4218-a6f6-0161ec65b322': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc2c2ad62-aba0-4218-a6f6-0161ec65b322","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"960ff74c-f66c-48cb-93dd-d098e6694e30","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.659827} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"659c7a6d-0bd9-4df9-b454-20ae96480550","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.6600056} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8c0c8bd8551521d220ce22c41951b191","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"e58989a0-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8c0c8bd8551521d220ce22c41951b191","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"139b0511e5e32d44578ad83c3229a9df","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"139b0511e5e32d44578ad83c3229a9df","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc"},{"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/2e92764a-282c-4762-9eeb-68d8e0e2c971"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322"}}},"level":"info","message":"received a callback","requestID":"8c0c8bd8551521d220ce22c41951b191"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc"},{"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/2e92764a-282c-4762-9eeb-68d8e0e2c971"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322"}}},"level":"info","message":"received a callback","requestID":"139b0511e5e32d44578ad83c3229a9df"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e58989a0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322 204 49ms","method":"DELETE","requestID":"e58989a0-0fec-11f0-b95a-67cf87457f46","responseTime":49,"status":204,"url":"/peerconnections/c2c2ad62-aba0-4218-a6f6-0161ec65b322"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"},"level":"info","message":"Successfully finished experiment","requestID":"517d7f86848a3f772115c18c49a2e572"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e597e180-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4134427f-d31d-4998-9b66-3ad805ca83fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37231755-4f53-4269-8042-3f95ff625655","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.717389} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.216585,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e597e180-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e597e180-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e597e180-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/4134427f-d31d-4998-9b66-3ad805ca83fc/signaling 200 9ms","method":"POST","requestID":"e597e180-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/4134427f-d31d-4998-9b66-3ad805ca83fc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e5998f30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ec42b62-b970-47d3-bdc8-50c1daa85a49': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ec42b62-b970-47d3-bdc8-50c1daa85a49","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"c3cc0f76-d5b9-43b6-bb98-b14a28872122","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.7244456} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f298711c-42a4-468a-a420-81e38cfd1a3f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.7248957} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"517d7f86848a3f772115c18c49a2e572","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e92764a-282c-4762-9eeb-68d8e0e2c971","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"783a7350-21bd-4c5a-87fc-de242b46f143","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.7276645} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.502039,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e5998f30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971","object_type":"device","rebac_allow":false,"scope_allow":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":"e5998f30-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e5998f30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/signaling 200 33ms","method":"POST","requestID":"e5998f30-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49","requestID":"517d7f86848a3f772115c18c49a2e572"} gateway-1 | {"time_local":"02/Apr/2025:18:04:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.291","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"517d7f86848a3f772115c18c49a2e572"} experiment-1 | {"level":"info","message":"DELETE /experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49 204 288ms","method":"DELETE","requestID":"517d7f86848a3f772115c18c49a2e572","responseTime":288,"status":204,"url":"/experiments/3ec42b62-b970-47d3-bdc8-50c1daa85a49"} gateway-1 | {"time_local":"02/Apr/2025:18:04:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"5.683","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"4e245943975b03d053c69a9a967e9486"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 207ms","method":"POST","requestID":"8c0c8bd8551521d220ce22c41951b191","responseTime":207,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.211","http_referrer":"","http_user_agent":"node-fetch","requestID":"8c0c8bd8551521d220ce22c41951b191"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 207ms","method":"POST","requestID":"139b0511e5e32d44578ad83c3229a9df","responseTime":207,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1OH0.x5ploNSRmZ7w-m5mIoqfBixRokO4CuA9p-DkhZkZAJE","level":"info","message":"auth send jwt","requestID":"0004f47e7c0d0a8630bb9bebc25b939c"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"0004f47e7c0d0a8630bb9bebc25b939c","responseTime":27,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:04:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.234","http_referrer":"","http_user_agent":"node-fetch","requestID":"139b0511e5e32d44578ad83c3229a9df"} gateway-1 | {"time_local":"02/Apr/2025:18:04:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2396","request_time":"4.230","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"037f08fcf173a6e3762d4451be3b77b1"} device-1 | {"level":"info","message":"postDevices called","requestID":"0004f47e7c0d0a8630bb9bebc25b939c"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.917264,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0004f47e7c0d0a8630bb9bebc25b939c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617058,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1OH0.x5ploNSRmZ7w-m5mIoqfBixRokO4CuA9p-DkhZkZAJE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0004f47e7c0d0a8630bb9bebc25b939c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4134427f-d31d-4998-9b66-3ad805ca83fc' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2e92764a-282c-4762-9eeb-68d8e0e2c971' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7438db8b-5e9b-44bd-b817-4ddf7dbdb737","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.9544163} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0004f47e7c0d0a8630bb9bebc25b939c","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f64d5d14-b094-4375-b430-39cccd3b0587","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.9594634} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"0004f47e7c0d0a8630bb9bebc25b939c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"75532211-4eb2-40a6-bcc0-30a6ee4d8c62","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.9930234} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a75631a6-81be-400d-bd0b-16d488baef5f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.9933138} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"0004f47e7c0d0a8630bb9bebc25b939c","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:18.992996275Z"}]},"request_id":"1bfef4dd-ede7-40fb-9900-0edadd6f532a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617058.9972425} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0004f47e7c0d0a8630bb9bebc25b939c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0004f47e7c0d0a8630bb9bebc25b939c"} gateway-1 | {"time_local":"02/Apr/2025:18:04:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0004f47e7c0d0a8630bb9bebc25b939c"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"0004f47e7c0d0a8630bb9bebc25b939c","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1OX0.XXuHYEB-stqrF5Yg6PJGeLbryG_3LD0XIA40ZojFOVY","level":"info","message":"auth send jwt","requestID":"7e524042c53ac098e5aeea54894ea745"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7e524042c53ac098e5aeea54894ea745","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7e524042c53ac098e5aeea54894ea745"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:19Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.779402,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7e524042c53ac098e5aeea54894ea745","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617059,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA1OX0.XXuHYEB-stqrF5Yg6PJGeLbryG_3LD0XIA40ZojFOVY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7e524042c53ac098e5aeea54894ea745","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"df82efb9-9754-481b-8b3c-9d3350c26112","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617059.0191302} authorization-1 | {"level":"info","message":"POST /relations/query 200 24ms","method":"POST","requestID":"7e524042c53ac098e5aeea54894ea745","responseTime":24,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ed8007e-6568-4200-84bb-e928aeacc813","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617059.0443258} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7e524042c53ac098e5aeea54894ea745","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"6473dd0a-7ecf-4be0-8f7a-a7900ed3ffd4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617059.0550928} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83e953eb-9c3e-46ed-94f5-2b80b8542855","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617059.0552886} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"7e524042c53ac098e5aeea54894ea745","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:19.055071446Z"}]},"request_id":"0fc7c4c5-7d42-42fe-b802-8fac56f93f98","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617059.0594485} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7e524042c53ac098e5aeea54894ea745"} gateway-1 | {"time_local":"02/Apr/2025:18:04:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e524042c53ac098e5aeea54894ea745"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"7e524042c53ac098e5aeea54894ea745","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"7e524042c53ac098e5aeea54894ea745","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MH0.Z03Ca8Eg2Cel9NLRmlNK6xLclzPRErs4xyVC9BVjEho","level":"info","message":"auth send jwt","requestID":"e75be31c62d608c2bd92451027805b74"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e75be31c62d608c2bd92451027805b74","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e75be31c62d608c2bd92451027805b74"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668411,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e75be31c62d608c2bd92451027805b74","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617060,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MH0.Z03Ca8Eg2Cel9NLRmlNK6xLclzPRErs4xyVC9BVjEho"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"e75be31c62d608c2bd92451027805b74","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:18.992996275Z"}]},"request_id":"da20ac43-98f8-4bc9-ab72-2ab9e0a35e48","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617060.1552048} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e75be31c62d608c2bd92451027805b74","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c858e36-d29e-4e47-81f4-16811ad587e4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617060.1602867} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e75be31c62d608c2bd92451027805b74","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:18.992996275Z"}]},"request_id":"9fe50ce8-7a89-4be2-ab23-45d835af0e11","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617060.1998093} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e75be31c62d608c2bd92451027805b74","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e75be31c62d608c2bd92451027805b74"} gateway-1 | {"time_local":"02/Apr/2025:18:04:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.089","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"e75be31c62d608c2bd92451027805b74"} device-1 | {"level":"info","message":"PATCH /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3 200 85ms","method":"PATCH","requestID":"e75be31c62d608c2bd92451027805b74","responseTime":85,"status":200,"url":"/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MH0.Z03Ca8Eg2Cel9NLRmlNK6xLclzPRErs4xyVC9BVjEho","level":"info","message":"auth send jwt","requestID":"d0be71eb54ce09866d53f18c1f170b65"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d0be71eb54ce09866d53f18c1f170b65","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d0be71eb54ce09866d53f18c1f170b65"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659233,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d0be71eb54ce09866d53f18c1f170b65","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617060,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MH0.Z03Ca8Eg2Cel9NLRmlNK6xLclzPRErs4xyVC9BVjEho"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d0be71eb54ce09866d53f18c1f170b65","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d0be71eb54ce09866d53f18c1f170b65"} gateway-1 | {"time_local":"02/Apr/2025:18:04:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"d0be71eb54ce09866d53f18c1f170b65"} device-1 | {"level":"info","message":"POST /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3/websocket 200 41ms","method":"POST","requestID":"d0be71eb54ce09866d53f18c1f170b65","responseTime":41,"status":200,"url":"/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c44058d2cd838caede81ba76ecee0579","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c44058d2cd838caede81ba76ecee0579","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:04:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/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":"c44058d2cd838caede81ba76ecee0579"} device-1 | {"level":"info","message":"OPTIONS /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/websocket 200 1ms","method":"OPTIONS","requestID":"c44058d2cd838caede81ba76ecee0579","responseTime":1,"status":200,"url":"/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MX0.y1bL10mxO5W5v1GKkgVW0CygcKKQMp1X8T1ZbdKBhzI","level":"info","message":"auth send jwt","requestID":"38e135e8ba83ba0507854c9e80d91911"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"38e135e8ba83ba0507854c9e80d91911","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"38e135e8ba83ba0507854c9e80d91911"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:21Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.88593,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"38e135e8ba83ba0507854c9e80d91911","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617061,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MX0.y1bL10mxO5W5v1GKkgVW0CygcKKQMp1X8T1ZbdKBhzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"38e135e8ba83ba0507854c9e80d91911","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"38e135e8ba83ba0507854c9e80d91911"} gateway-1 | {"time_local":"02/Apr/2025:18:04:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.089","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"38e135e8ba83ba0507854c9e80d91911"} device-1 | {"level":"info","message":"POST /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/websocket 200 85ms","method":"POST","requestID":"38e135e8ba83ba0507854c9e80d91911","responseTime":85,"status":200,"url":"/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MX0.y1bL10mxO5W5v1GKkgVW0CygcKKQMp1X8T1ZbdKBhzI","level":"info","message":"auth send jwt","requestID":"e520599a1140b212e393d92725ee01a3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e520599a1140b212e393d92725ee01a3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e520599a1140b212e393d92725ee01a3"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:21Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845356,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e520599a1140b212e393d92725ee01a3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617061,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MX0.y1bL10mxO5W5v1GKkgVW0CygcKKQMp1X8T1ZbdKBhzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e520599a1140b212e393d92725ee01a3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:18.992996275Z"}]},"request_id":"49089c6b-095a-4909-b912-f57295a67038","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617061.6892598} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e520599a1140b212e393d92725ee01a3"} gateway-1 | {"time_local":"02/Apr/2025:18:04:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3? 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":"e520599a1140b212e393d92725ee01a3"} device-1 | {"level":"info","message":"GET /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3? 200 40ms","method":"GET","requestID":"e520599a1140b212e393d92725ee01a3","responseTime":40,"status":200,"url":"/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","method":"POST","requestID":"e520599a1140b212e393d92725ee01a3","responseTime":10,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MX0.y1bL10mxO5W5v1GKkgVW0CygcKKQMp1X8T1ZbdKBhzI","level":"info","message":"auth send jwt","requestID":"f89753a7513e2cd5479097239ec86a4e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f89753a7513e2cd5479097239ec86a4e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f89753a7513e2cd5479097239ec86a4e"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:21Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.928732,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f89753a7513e2cd5479097239ec86a4e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617061,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MX0.y1bL10mxO5W5v1GKkgVW0CygcKKQMp1X8T1ZbdKBhzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"f89753a7513e2cd5479097239ec86a4e","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:19.055071446Z"}]},"request_id":"093ec89c-0147-499a-bb33-20374dd7549f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617061.7354136} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f89753a7513e2cd5479097239ec86a4e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f89753a7513e2cd5479097239ec86a4e"} gateway-1 | {"time_local":"02/Apr/2025:18:04:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f89753a7513e2cd5479097239ec86a4e"} device-1 | {"level":"info","message":"GET /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a? 200 39ms","method":"GET","requestID":"f89753a7513e2cd5479097239ec86a4e","responseTime":39,"status":200,"url":"/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MX0.y1bL10mxO5W5v1GKkgVW0CygcKKQMp1X8T1ZbdKBhzI","level":"info","message":"auth send jwt","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5bccaf0e97e8551e69021b46229cb6b2","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:21Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.916624,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"5bccaf0e97e8551e69021b46229cb6b2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617061,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MX0.y1bL10mxO5W5v1GKkgVW0CygcKKQMp1X8T1ZbdKBhzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"5bccaf0e97e8551e69021b46229cb6b2","responseTime":31,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Attempting to run experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Attempting to book experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Successfully booked experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e77ad250-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e77af960-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:21Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.921979,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e77ad250-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617061,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MX0.y1bL10mxO5W5v1GKkgVW0CygcKKQMp1X8T1ZbdKBhzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e77ad250-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.967429,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e77af960-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617061,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MX0.y1bL10mxO5W5v1GKkgVW0CygcKKQMp1X8T1ZbdKBhzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e77af960-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:18.992996275Z"}]},"request_id":"ac539edb-282b-442f-9e3e-2286a2eb53a6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617061.8859878} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e77ad250-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:19.055071446Z"}]},"request_id":"a3cc36c3-1ea7-41c2-ae94-8677c37aad34","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617061.8879838} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e77af960-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e77ad250-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3? 200 17ms","method":"GET","requestID":"e77ad250-0fec-11f0-b95a-67cf87457f46","responseTime":17,"status":200,"url":"/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e77af960-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a? 200 17ms","method":"GET","requestID":"e77af960-0fec-11f0-b95a-67cf87457f46","responseTime":17,"status":200,"url":"/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Setting up experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Successfully set up experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e7978210-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e797d030-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.981173,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e7978210-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617061,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MX0.y1bL10mxO5W5v1GKkgVW0CygcKKQMp1X8T1ZbdKBhzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e7978210-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.954682,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e797d030-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617061,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MX0.y1bL10mxO5W5v1GKkgVW0CygcKKQMp1X8T1ZbdKBhzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e797d030-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:18.992996275Z"}]},"request_id":"e3772534-e237-4a7c-94f4-784b602dc71c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.0775921} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"e7978210-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e79a1a20-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:19.055071446Z"}]},"request_id":"cd35d795-3fd1-4c22-a7b0-b11a0d5625fc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.0842865} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e797d030-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:22Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Successfully running experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e7978210-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3? 200 49ms","method":"GET","requestID":"e7978210-0fec-11f0-b95a-67cf87457f46","responseTime":49,"status":200,"url":"/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"52411131-b479-409e-b364-9378613b6d87","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.1145673} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":29.475195,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:22Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e797d030-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e79a1a20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","object_type":"device","rebac_allow":false,"scope_allow":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":"e79a1a20-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a? 200 50ms","method":"GET","requestID":"e797d030-0fec-11f0-b95a-67cf87457f46","responseTime":50,"status":200,"url":"/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e79a1a20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3/signaling 200 38ms","method":"POST","requestID":"e79a1a20-0fec-11f0-b95a-67cf87457f46","responseTime":38,"status":200,"url":"/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7a00d90-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7a082c0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84a19d77-9489-439a-88ae-33a54646651a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.1309788} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6e2f92b-7403-4b7b-9a3a-e4c5ec4360fc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.1316092} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.061556,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.402287,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e7a00d90-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","object_type":"device","rebac_allow":false,"scope_allow":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":"e7a00d90-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e7a082c0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","object_type":"device","rebac_allow":false,"scope_allow":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":"e7a082c0-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe89f1dce-8c28-4930-9626-4031c2dfde24#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe89f1dce-8c28-4930-9626-4031c2dfde24","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"303f4c4d-be26-48eb-bea4-c90db4e668c0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.1631763} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7a00d90-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3/signaling 200 43ms","method":"POST","requestID":"e7a00d90-0fec-11f0-b95a-67cf87457f46","responseTime":43,"status":200,"url":"/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7a082c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/signaling 200 40ms","method":"POST","requestID":"e7a082c0-0fec-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"701d1ff5-6068-4d73-98e3-ec3ac258a8d0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.1635075} authorization-1 | {"level":"info","message":"POST /relations/update 200 53ms","method":"POST","requestID":"5bccaf0e97e8551e69021b46229cb6b2","responseTime":53,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7a6eb60-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3c9d984-d0b5-42bc-b15b-d35f0f56767e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.1720138} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.577161,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:22Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e7a6eb60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"02/Apr/2025:18:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.433","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 427ms","method":"POST","requestID":"5bccaf0e97e8551e69021b46229cb6b2","responseTime":427,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e7a6eb60-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7a6eb60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/signaling 200 11ms","method":"POST","requestID":"e7a6eb60-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Mn0.4dn1zuAmnOgiBpeI_8Bo_nO7brVYFq6a13AByPeZS-s","level":"info","message":"auth send jwt","requestID":"6030b9909297c82c11a83f64bf710274"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Building connection plan","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} 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":"d78cda21-a8c9-42ab-a325-8acc72487719"},{"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":"b76bfbc6-693b-42ed-b5bc-ff48b24b3453"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"be237cfd-2249-4ece-946d-fbc39549d4cf"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6030b9909297c82c11a83f64bf710274","responseTime":3,"status":200,"url":"/auth"} 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/3808bc4b-8a7c-4819-8447-830bbc1a259a"},{"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/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6030b9909297c82c11a83f64bf710274"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e7a93550-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.875104,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"6030b9909297c82c11a83f64bf710274","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617062,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Mn0.4dn1zuAmnOgiBpeI_8Bo_nO7brVYFq6a13AByPeZS-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6030b9909297c82c11a83f64bf710274","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.62471,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e7a93550-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617061,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2MX0.y1bL10mxO5W5v1GKkgVW0CygcKKQMp1X8T1ZbdKBhzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"e7a93550-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:18.992996275Z"}]},"request_id":"ce8639b6-0597-45e0-b146-5197a7c5ea01","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.2115161} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6030b9909297c82c11a83f64bf710274","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6030b9909297c82c11a83f64bf710274"} gateway-1 | {"time_local":"02/Apr/2025:18:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3? 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":"6030b9909297c82c11a83f64bf710274"} device-1 | {"level":"info","message":"GET /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3? 200 37ms","method":"GET","requestID":"6030b9909297c82c11a83f64bf710274","responseTime":37,"status":200,"url":"/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Mn0.4dn1zuAmnOgiBpeI_8Bo_nO7brVYFq6a13AByPeZS-s","level":"info","message":"auth send jwt","requestID":"c4a21a42b73eb1869105ea76698fe873"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"332898a8-2c2b-41f6-8a96-30914acaedb9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.2203894} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7935c165-ec42-4356-b73a-aeb3fdfe353f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.220715} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c4a21a42b73eb1869105ea76698fe873","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c4a21a42b73eb1869105ea76698fe873"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e7a93550-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.807494,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c4a21a42b73eb1869105ea76698fe873","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617062,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Mn0.4dn1zuAmnOgiBpeI_8Bo_nO7brVYFq6a13AByPeZS-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c4a21a42b73eb1869105ea76698fe873","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:19.055071446Z"}]},"request_id":"db2b72b4-d457-48f8-80d5-f9fb30887cfb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.229117} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c4a21a42b73eb1869105ea76698fe873","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e7a93550-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e7a93550-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6'","requestID":"e7a93550-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6'","requestID":"e7a93550-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e7a93550-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 87ms","method":"POST","requestID":"e7a93550-0fec-11f0-b95a-67cf87457f46","responseTime":87,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c4a21a42b73eb1869105ea76698fe873"} gateway-1 | {"time_local":"02/Apr/2025:18:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c4a21a42b73eb1869105ea76698fe873"} device-1 | {"level":"info","message":"GET /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a? 200 48ms","method":"GET","requestID":"c4a21a42b73eb1869105ea76698fe873","responseTime":48,"status":200,"url":"/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"e7a93550-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6","device":"3808bc4b-8a7c-4819-8447-830bbc1a259a","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/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5bccaf0e97e8551e69021b46229cb6b2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7c3c230-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b2255a1-c8e8-42e5-a5a8-63825f2699d2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.3598735} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.990763,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e7c3c230-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e7c3c230-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"3808bc4b-8a7c-4819-8447-830bbc1a259a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"3808bc4b-8a7c-4819-8447-830bbc1a259a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7c3c230-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3/signaling 200 13ms","method":"POST","requestID":"e7c3c230-0fec-11f0-b95a-67cf87457f46","responseTime":13,"status":200,"url":"/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7c60c20-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d6606a6-58bf-4c70-8bf8-9b683f6018f0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617062.3749335} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.848392,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e7c60c20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","object_type":"device","rebac_allow":false,"scope_allow":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":"e7c60c20-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7c60c20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/signaling 200 33ms","method":"POST","requestID":"e7c60c20-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/signaling"} device-1 | {"device":"faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"13efc030-8945-4a37-af96-91793eb733a6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6544952954529247591 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:AAjQ\r\na=ice-pwd:0STF01F0wHXP1VFdMAC6RbWO\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BE:54:CC:74:ED:A9:4D:15:45:51:56:C4:89:F9:50:2D:81:F7:81:E7:91:D0:8F:B2:E6:B4:70:EB:5A:34:7F:00\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"3808bc4b-8a7c-4819-8447-830bbc1a259a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:449670246 1 udp 2113937151 362353f2-6cfd-4727-8aac-fdcceda0e21a.local 43489 typ host generation 0 ufrag AAjQ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3808bc4b-8a7c-4819-8447-830bbc1a259a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"3808bc4b-8a7c-4819-8447-830bbc1a259a","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/3808bc4b-8a7c-4819-8447-830bbc1a259a'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"13efc030-8945-4a37-af96-91793eb733a6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3808bc4b-8a7c-4819-8447-830bbc1a259a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cf15590bfdc3a893467a232b1b0550fc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"cf15590bfdc3a893467a232b1b0550fc","responseTime":0,"status":200,"url":"/auth"} device-1 | {"device":"faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"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/3808bc4b-8a7c-4819-8447-830bbc1a259a"},{"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/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6"}}},"level":"info","message":"received a callback","requestID":"cf15590bfdc3a893467a232b1b0550fc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"cf15590bfdc3a893467a232b1b0550fc","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf15590bfdc3a893467a232b1b0550fc"} device-1 | {"device":"faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3808bc4b-8a7c-4819-8447-830bbc1a259a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3808bc4b-8a7c-4819-8447-830bbc1a259a","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"13efc030-8945-4a37-af96-91793eb733a6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"13efc030-8945-4a37-af96-91793eb733a6","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/13efc030-8945-4a37-af96-91793eb733a6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"13efc030-8945-4a37-af96-91793eb733a6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"179e3fde8e5730d4783dad6341e77795","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"179e3fde8e5730d4783dad6341e77795","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/3808bc4b-8a7c-4819-8447-830bbc1a259a"},{"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/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6"}}},"level":"info","message":"received a callback","requestID":"179e3fde8e5730d4783dad6341e77795"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e9082910-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F13efc030-8945-4a37-af96-91793eb733a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b4d9773-85fd-4816-8523-f8ba736d15b8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617064.485707} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.945927,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e9082910-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6","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":"e9082910-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e9082910-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/13efc030-8945-4a37-af96-91793eb733a6 200 32ms","method":"GET","requestID":"e9082910-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/peerconnections/13efc030-8945-4a37-af96-91793eb733a6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2NH0.X_2an-aNsNC0RS6MiktqsOX5Ou0WbbVR8Hw1mxHrReA","level":"info","message":"auth send jwt","requestID":"958520ba7f414b2f5fff93a516433719"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"958520ba7f414b2f5fff93a516433719","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e89f1dce-8c28-4930-9626-4031c2dfde24","requestID":"958520ba7f414b2f5fff93a516433719"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.755375,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"958520ba7f414b2f5fff93a516433719","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617064,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2NH0.X_2an-aNsNC0RS6MiktqsOX5Ou0WbbVR8Hw1mxHrReA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"958520ba7f414b2f5fff93a516433719","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 60ms","method":"POST","requestID":"179e3fde8e5730d4783dad6341e77795","responseTime":60,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch","requestID":"179e3fde8e5730d4783dad6341e77795"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e9145e10-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:24Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e89f1dce-8c28-4930-9626-4031c2dfde24","requestID":"958520ba7f414b2f5fff93a516433719"} gateway-1 | {"time_local":"02/Apr/2025:18:04:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e89f1dce-8c28-4930-9626-4031c2dfde24 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"958520ba7f414b2f5fff93a516433719"} experiment-1 | {"level":"info","message":"GET /experiments/e89f1dce-8c28-4930-9626-4031c2dfde24 200 42ms","method":"GET","requestID":"958520ba7f414b2f5fff93a516433719","responseTime":43,"status":200,"url":"/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65a77dce-673b-42bc-819a-f02cf6200329","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617064.5660958} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.158249,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e9145e10-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e9145e10-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2NH0.X_2an-aNsNC0RS6MiktqsOX5Ou0WbbVR8Hw1mxHrReA","level":"info","message":"auth send jwt","requestID":"3433c56eabadc1d67a6c403e3477e1e1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3433c56eabadc1d67a6c403e3477e1e1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e9145e10-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e89f1dce-8c28-4930-9626-4031c2dfde24","requestID":"3433c56eabadc1d67a6c403e3477e1e1"} device-1 | {"level":"info","message":"POST /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/signaling 200 10ms","method":"POST","requestID":"e9145e10-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/signaling"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.93775,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:24Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e91659e0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"3433c56eabadc1d67a6c403e3477e1e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617064,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2NH0.X_2an-aNsNC0RS6MiktqsOX5Ou0WbbVR8Hw1mxHrReA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3433c56eabadc1d67a6c403e3477e1e1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91da57b1-d2c7-49fe-a3b1-a19ff51e0747","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617064.578984} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.699768,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e91659e0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","object_type":"device","rebac_allow":false,"scope_allow":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":"e91659e0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Attempting to finish experiment","requestID":"3433c56eabadc1d67a6c403e3477e1e1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e9179260-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e91659e0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":25.064085,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:24Z"} device-1 | {"level":"info","message":"POST /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3/signaling 200 10ms","method":"POST","requestID":"e91659e0-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3/signaling"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e9179260-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617064,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2NH0.X_2an-aNsNC0RS6MiktqsOX5Ou0WbbVR8Hw1mxHrReA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"e9179260-0fec-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6","device":"3808bc4b-8a7c-4819-8447-830bbc1a259a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"13efc030-8945-4a37-af96-91793eb733a6","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"698a32789bdba3c30b3269a3d1cde072","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7d99d10-7a4d-4a68-bb44-1e455d44f71b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617064.6227207} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F13efc030-8945-4a37-af96-91793eb733a6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F13efc030-8945-4a37-af96-91793eb733a6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"098da722-5044-422c-8099-1b84f3237b68","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617064.62286} 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/3808bc4b-8a7c-4819-8447-830bbc1a259a"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6"}}},"level":"info","message":"received a callback","requestID":"698a32789bdba3c30b3269a3d1cde072"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"e9179260-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"698a32789bdba3c30b3269a3d1cde072","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f31712c3afa12083b961b7cf233739c5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f31712c3afa12083b961b7cf233739c5","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/13efc030-8945-4a37-af96-91793eb733a6"}}},"level":"info","message":"received a callback","requestID":"f31712c3afa12083b961b7cf233739c5"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e9179260-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/13efc030-8945-4a37-af96-91793eb733a6 204 95ms","method":"DELETE","requestID":"e9179260-0fec-11f0-b95a-67cf87457f46","responseTime":95,"status":204,"url":"/peerconnections/13efc030-8945-4a37-af96-91793eb733a6"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"},"level":"info","message":"Successfully finished experiment","requestID":"3433c56eabadc1d67a6c403e3477e1e1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e92d1630-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3808bc4b-8a7c-4819-8447-830bbc1a259a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"605f7db7-1593-4760-99ff-2d6c78f7a1ed","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617064.7275972} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.472208,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e92d1630-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a","object_type":"device","rebac_allow":false,"scope_allow":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":"e92d1630-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e92d1630-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/signaling 200 33ms","method":"POST","requestID":"e92d1630-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e9326d60-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe89f1dce-8c28-4930-9626-4031c2dfde24': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe89f1dce-8c28-4930-9626-4031c2dfde24","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"47438abd-b5c8-4597-844c-376aaa2e7011","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617064.7621014} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7dabf869-6976-46ee-b322-ae1cfcd1a18b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617064.7624266} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"3433c56eabadc1d67a6c403e3477e1e1","responseTime":43,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaac2796-1a6c-4e8d-b1cd-324f8aeacdb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e9afec4-9091-4880-b977-3d783f49f7bb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617064.7651784} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.583238,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e9326d60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e9326d60-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e9326d60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3/signaling 200 12ms","method":"POST","requestID":"e9326d60-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e89f1dce-8c28-4930-9626-4031c2dfde24","requestID":"3433c56eabadc1d67a6c403e3477e1e1"} gateway-1 | {"time_local":"02/Apr/2025:18:04:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e89f1dce-8c28-4930-9626-4031c2dfde24 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.339","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3433c56eabadc1d67a6c403e3477e1e1"} experiment-1 | {"level":"info","message":"DELETE /experiments/e89f1dce-8c28-4930-9626-4031c2dfde24 204 337ms","method":"DELETE","requestID":"3433c56eabadc1d67a6c403e3477e1e1","responseTime":337,"status":204,"url":"/experiments/e89f1dce-8c28-4930-9626-4031c2dfde24"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 286ms","method":"POST","requestID":"698a32789bdba3c30b3269a3d1cde072","responseTime":286,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 281ms","method":"POST","requestID":"f31712c3afa12083b961b7cf233739c5","responseTime":281,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2530","request_time":"4.662","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"4dff3fbab797eeecce4588b93e74e262"} gateway-1 | {"time_local":"02/Apr/2025:18:04:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.290","http_referrer":"","http_user_agent":"node-fetch","requestID":"698a32789bdba3c30b3269a3d1cde072"} gateway-1 | {"time_local":"02/Apr/2025:18:04:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.290","http_referrer":"","http_user_agent":"node-fetch","requestID":"f31712c3afa12083b961b7cf233739c5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2NH0.X_2an-aNsNC0RS6MiktqsOX5Ou0WbbVR8Hw1mxHrReA","level":"info","message":"auth send jwt","requestID":"ec75f6ac79cf8c1249a35a3c585e6191"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ec75f6ac79cf8c1249a35a3c585e6191","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.886248,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ec75f6ac79cf8c1249a35a3c585e6191","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617064,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2NH0.X_2an-aNsNC0RS6MiktqsOX5Ou0WbbVR8Hw1mxHrReA"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"ec75f6ac79cf8c1249a35a3c585e6191","responseTime":29,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:18:04:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2401","request_time":"3.280","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"22d087520c3574e51276bc2e4f6768ec"} device-1 | {"level":"info","message":"postDevices called","requestID":"ec75f6ac79cf8c1249a35a3c585e6191"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/faac2796-1a6c-4e8d-b1cd-324f8aeacdb3' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b3b0456c-8b5b-481e-9868-c11f775094cf","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617064.9659998} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ec75f6ac79cf8c1249a35a3c585e6191","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c487aa1-2946-4e04-9e61-d1660971420a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617064.9949098} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"ec75f6ac79cf8c1249a35a3c585e6191","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3808bc4b-8a7c-4819-8447-830bbc1a259a' closed"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"dee3f910-dd2e-4597-a213-c33f0b6115ce","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617065.0081823} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fcf204b5-bac9-4f90-8925-fd2679fa6e24","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617065.0083554} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"ec75f6ac79cf8c1249a35a3c585e6191","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.008153561Z"}]},"request_id":"8d3478d3-c8a4-4215-aa8d-b8cc4a02414a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617065.0129602} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ec75f6ac79cf8c1249a35a3c585e6191","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ec75f6ac79cf8c1249a35a3c585e6191"} gateway-1 | {"time_local":"02/Apr/2025:18:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.102","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ec75f6ac79cf8c1249a35a3c585e6191"} device-1 | {"level":"info","message":"POST /devices? 201 97ms","method":"POST","requestID":"ec75f6ac79cf8c1249a35a3c585e6191","responseTime":97,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2NX0.H9FQ9nzCH5j7mzbAICIGceaaf0pH6f0Z_toalb0-K7g","level":"info","message":"auth send jwt","requestID":"74eb56094fa0cec4f22193378d2bd018"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"74eb56094fa0cec4f22193378d2bd018","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"74eb56094fa0cec4f22193378d2bd018"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.904772,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"74eb56094fa0cec4f22193378d2bd018","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617065,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2NX0.H9FQ9nzCH5j7mzbAICIGceaaf0pH6f0Z_toalb0-K7g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"74eb56094fa0cec4f22193378d2bd018","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e93d242b-d7bc-4725-b317-385fd1ef72ec","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617065.1049035} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"74eb56094fa0cec4f22193378d2bd018","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d37f056-4f3c-43e2-8437-7cb39b01fa6e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617065.1112547} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"74eb56094fa0cec4f22193378d2bd018","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"17426205-26ce-4330-9444-dbbc4766a833","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617065.150709} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3bbb1f2c-7834-444f-8562-4bf5f3622513","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617065.1508424} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"74eb56094fa0cec4f22193378d2bd018","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.150679122Z"}]},"request_id":"3571bdfd-3384-420e-8e52-f49a61aa1aba","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617065.1548586} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"74eb56094fa0cec4f22193378d2bd018","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"74eb56094fa0cec4f22193378d2bd018"} device-1 | {"level":"info","message":"POST /devices? 201 111ms","method":"POST","requestID":"74eb56094fa0cec4f22193378d2bd018","responseTime":111,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.115","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"74eb56094fa0cec4f22193378d2bd018"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU","level":"info","message":"auth send jwt","requestID":"c5ffeaf4660272e30a93555497f8f917"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c5ffeaf4660272e30a93555497f8f917"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c5ffeaf4660272e30a93555497f8f917","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.903351,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c5ffeaf4660272e30a93555497f8f917","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c5ffeaf4660272e30a93555497f8f917","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.008153561Z"}]},"request_id":"3216fefa-d5b7-4f41-8e47-b3ab7b66a14a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.2467618} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c5ffeaf4660272e30a93555497f8f917","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94b85785-25bd-4aaf-97d9-79bfcb8e9117","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.253252} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c5ffeaf4660272e30a93555497f8f917","responseTime":4,"status":200,"url":"/relations/update"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU","level":"info","message":"auth send jwt","requestID":"556782a889ccfb4e4ba32f5552971fdb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"556782a889ccfb4e4ba32f5552971fdb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"556782a889ccfb4e4ba32f5552971fdb"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703656,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"556782a889ccfb4e4ba32f5552971fdb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"556782a889ccfb4e4ba32f5552971fdb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.008153561Z"}]},"request_id":"b5381078-3474-4229-9991-1e527d9baea5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.308807} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c5ffeaf4660272e30a93555497f8f917","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.150679122Z"}]},"request_id":"e4ce74d8-6838-44fd-a56d-1a06cdbbc8a5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.3101351} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c5ffeaf4660272e30a93555497f8f917"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"556782a889ccfb4e4ba32f5552971fdb","responseTime":3,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"02/Apr/2025:18:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.104","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"c5ffeaf4660272e30a93555497f8f917"} device-1 | {"level":"info","message":"PATCH /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4 200 100ms","method":"PATCH","requestID":"c5ffeaf4660272e30a93555497f8f917","responseTime":100,"status":200,"url":"/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU","level":"info","message":"auth send jwt","requestID":"19035f0d1dfb2ff09b5822c39c8e4077"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"19035f0d1dfb2ff09b5822c39c8e4077","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"19035f0d1dfb2ff09b5822c39c8e4077"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a9d85ce-66b2-4aa8-8ec3-253815fcd3da","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.3431368} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"556782a889ccfb4e4ba32f5552971fdb","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.841239,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"19035f0d1dfb2ff09b5822c39c8e4077","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"19035f0d1dfb2ff09b5822c39c8e4077","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.150679122Z"}]},"request_id":"32b27729-291c-4709-972a-4eb8d7647ae3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.3529027} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"556782a889ccfb4e4ba32f5552971fdb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"556782a889ccfb4e4ba32f5552971fdb"} gateway-1 | {"time_local":"02/Apr/2025:18:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.059","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"556782a889ccfb4e4ba32f5552971fdb"} device-1 | {"level":"info","message":"PATCH /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616 200 55ms","method":"PATCH","requestID":"556782a889ccfb4e4ba32f5552971fdb","responseTime":55,"status":200,"url":"/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU","level":"info","message":"auth send jwt","requestID":"c8551f06482987c92c1d3b04af0f3e5e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c8551f06482987c92c1d3b04af0f3e5e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c8551f06482987c92c1d3b04af0f3e5e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"19035f0d1dfb2ff09b5822c39c8e4077"} gateway-1 | {"time_local":"02/Apr/2025:18:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.073","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"19035f0d1dfb2ff09b5822c39c8e4077"} device-1 | {"level":"info","message":"POST /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4/websocket 200 48ms","method":"POST","requestID":"19035f0d1dfb2ff09b5822c39c8e4077","responseTime":48,"status":200,"url":"/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4/websocket"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.377918,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c8551f06482987c92c1d3b04af0f3e5e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c8551f06482987c92c1d3b04af0f3e5e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c8551f06482987c92c1d3b04af0f3e5e"} gateway-1 | {"time_local":"02/Apr/2025:18:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.082","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"c8551f06482987c92c1d3b04af0f3e5e"} device-1 | {"level":"info","message":"POST /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616/websocket 200 78ms","method":"POST","requestID":"c8551f06482987c92c1d3b04af0f3e5e","responseTime":78,"status":200,"url":"/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU","level":"info","message":"auth send jwt","requestID":"e24d34617448eb10dede0db9d568b66d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e24d34617448eb10dede0db9d568b66d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e24d34617448eb10dede0db9d568b66d"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762536,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e24d34617448eb10dede0db9d568b66d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e24d34617448eb10dede0db9d568b66d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.008153561Z"}]},"request_id":"1d2542bf-1ae0-484d-a42c-670803bf9742","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.4870486} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e24d34617448eb10dede0db9d568b66d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e24d34617448eb10dede0db9d568b66d"} gateway-1 | {"time_local":"02/Apr/2025:18:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4? 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":"e24d34617448eb10dede0db9d568b66d"} device-1 | {"level":"info","message":"GET /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4? 200 34ms","method":"GET","requestID":"e24d34617448eb10dede0db9d568b66d","responseTime":34,"status":200,"url":"/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU","level":"info","message":"auth send jwt","requestID":"90b60003263e22fce1e4cd4dcca22078"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"90b60003263e22fce1e4cd4dcca22078","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"90b60003263e22fce1e4cd4dcca22078"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682101,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"90b60003263e22fce1e4cd4dcca22078","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"90b60003263e22fce1e4cd4dcca22078","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.150679122Z"}]},"request_id":"fb40df9e-dadc-4402-9932-abae6c465012","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.5018146} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"90b60003263e22fce1e4cd4dcca22078","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"90b60003263e22fce1e4cd4dcca22078"} gateway-1 | {"time_local":"02/Apr/2025:18:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616? 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":"90b60003263e22fce1e4cd4dcca22078"} device-1 | {"level":"info","message":"GET /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616? 200 35ms","method":"GET","requestID":"90b60003263e22fce1e4cd4dcca22078","responseTime":35,"status":200,"url":"/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU","level":"info","message":"auth send jwt","requestID":"921fbc5040eee1aef99dec43fafe245f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"921fbc5040eee1aef99dec43fafe245f","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"921fbc5040eee1aef99dec43fafe245f"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.889705,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"921fbc5040eee1aef99dec43fafe245f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"921fbc5040eee1aef99dec43fafe245f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Attempting to run experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Attempting to book experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Successfully booked experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ea4b5770-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ea4b7e80-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744155,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ea4b5770-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ea4b5770-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.876881,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ea4b7e80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ea4b7e80-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.008153561Z"}]},"request_id":"70570174-f9f9-4b8f-8a4e-6dcdccd74820","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.630725} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ea4b5770-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.150679122Z"}]},"request_id":"5aa080ec-1cf3-4546-bcb8-c7e0510be852","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.6316628} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ea4b7e80-0fec-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ea4b5770-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4? 200 36ms","method":"GET","requestID":"ea4b5770-0fec-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ea4b7e80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616? 200 36ms","method":"GET","requestID":"ea4b7e80-0fec-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Setting up experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Successfully locked booking for experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Attempting to update booking for experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Successfully updated booking for experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Successfully set up experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ea5f54a0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ea5fa2c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ea5fc9d0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947275,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ea5f54a0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Successfully running experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ea5f54a0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.323664,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ea5fa2c0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ea5fa2c0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47e09c2c-07d3-4296-ba97-0a98a6ddd7b0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.740351} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.150679122Z"}]},"request_id":"977c99fd-1b54-44ca-901a-9baa535f9813","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.7422416} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.008153561Z"}]},"request_id":"022fa2f8-d45a-45b9-97d6-5b5c89e957f2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.7431426} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.257412,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ea5fc9d0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","object_type":"device","rebac_allow":false,"scope_allow":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":"ea5fc9d0-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"ea5fa2c0-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"ea5f54a0-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ea5fc9d0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4/signaling 200 40ms","method":"POST","requestID":"ea5fc9d0-0fec-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ea5fa2c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616? 200 42ms","method":"GET","requestID":"ea5fa2c0-0fec-11f0-b95a-67cf87457f46","responseTime":42,"status":200,"url":"/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa96b3704-1f3a-4fb1-ac4d-a21582fdf21d#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa96b3704-1f3a-4fb1-ac4d-a21582fdf21d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"564116c3-ae74-4949-910b-a18a3aebbacd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.7750525} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ea5f54a0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f33141d3-8917-4dce-a945-e7ac0c2514b4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.7752216} device-1 | {"level":"info","message":"GET /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4? 200 46ms","method":"GET","requestID":"ea5f54a0-0fec-11f0-b95a-67cf87457f46","responseTime":46,"status":200,"url":"/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ea668090-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"921fbc5040eee1aef99dec43fafe245f","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ea66ceb0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92f38b7e-65ed-40f8-a038-d09acd6b709e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.7818642} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.836934,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ea668090-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ea668090-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e94a6837-44b8-4aa6-b02e-c1624fac5e5a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.7836494} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"921fbc5040eee1aef99dec43fafe245f"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.270727,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} gateway-1 | {"time_local":"02/Apr/2025:18:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.255","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"921fbc5040eee1aef99dec43fafe245f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 251ms","method":"POST","requestID":"921fbc5040eee1aef99dec43fafe245f","responseTime":251,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ea66ceb0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ea66ceb0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU","level":"info","message":"auth send jwt","requestID":"0e551bdc01f7e5dcc033fe238cb2fbaf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ea668090-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0e551bdc01f7e5dcc033fe238cb2fbaf","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616/signaling 200 13ms","method":"POST","requestID":"ea668090-0fec-11f0-b95a-67cf87457f46","responseTime":13,"status":200,"url":"/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0e551bdc01f7e5dcc033fe238cb2fbaf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ea66ceb0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4/signaling 200 38ms","method":"POST","requestID":"ea66ceb0-0fec-11f0-b95a-67cf87457f46","responseTime":38,"status":200,"url":"/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4/signaling"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723026,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0e551bdc01f7e5dcc033fe238cb2fbaf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0e551bdc01f7e5dcc033fe238cb2fbaf","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ea6ce930-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04: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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.008153561Z"}]},"request_id":"f33ad76a-d1f8-4813-82eb-4bed2b684369","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.823547} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee0b31b9-4950-4fa9-a79e-90c2b3b6d5aa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.8237057} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0e551bdc01f7e5dcc033fe238cb2fbaf","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.882221,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ea6ce930-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","object_type":"device","rebac_allow":false,"scope_allow":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":"ea6ce930-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0e551bdc01f7e5dcc033fe238cb2fbaf"} gateway-1 | {"time_local":"02/Apr/2025:18:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4? 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":"0e551bdc01f7e5dcc033fe238cb2fbaf"} device-1 | {"level":"info","message":"GET /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4? 200 36ms","method":"GET","requestID":"0e551bdc01f7e5dcc033fe238cb2fbaf","responseTime":36,"status":200,"url":"/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ea6ce930-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616/signaling 200 11ms","method":"POST","requestID":"ea6ce930-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Building connection plan","requestID":"921fbc5040eee1aef99dec43fafe245f"} 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":"b6981a5b-21b4-4d65-b741-e04a1cb4fed0"},{"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":"67b6f519-d354-42a1-9cc9-6254f8519642"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"03fef226-78f2-4373-8aea-1df8cc47ac75"}]},"level":"info","message":"Built pairwise service configurations","requestID":"921fbc5040eee1aef99dec43fafe245f"} 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/36348b1f-a88d-4d63-a781-e754ea21c1f4"},{"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/ac1f8e76-7b95-47ab-a9da-ef88d0143616"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"921fbc5040eee1aef99dec43fafe245f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU","level":"info","message":"auth send jwt","requestID":"0d292badfd015111ac1721f8b148d8e0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0d292badfd015111ac1721f8b148d8e0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"ea6f0c10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d292badfd015111ac1721f8b148d8e0"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.730775,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ea6f0c10-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ea6f0c10-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.793994,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0d292badfd015111ac1721f8b148d8e0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617066,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2Nn0.sZF3TQ7vNvsdlaUOvFuPxYFTXkH6JIsJfgS7Go9SzJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0d292badfd015111ac1721f8b148d8e0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:25.150679122Z"}]},"request_id":"056bd635-5e18-4d6e-8861-d4f1555e1c23","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.872016} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","method":"POST","requestID":"0d292badfd015111ac1721f8b148d8e0","responseTime":31,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d292badfd015111ac1721f8b148d8e0"} gateway-1 | {"time_local":"02/Apr/2025:18:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d292badfd015111ac1721f8b148d8e0"} device-1 | {"level":"info","message":"GET /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616? 200 41ms","method":"GET","requestID":"0d292badfd015111ac1721f8b148d8e0","responseTime":41,"status":200,"url":"/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"44a1e2c9-f1c2-4b56-a387-8b2722c1d82e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.8762178} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2826672a-3c07-455c-9372-6c4457a29611","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617066.8765745} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"ea6f0c10-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"ea6f0c10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"ea6f0c10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6'","requestID":"ea6f0c10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6'","requestID":"ea6f0c10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"ea6f0c10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 87ms","method":"POST","requestID":"ea6f0c10-0fec-11f0-b95a-67cf87457f46","responseTime":87,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"ea6f0c10-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"921fbc5040eee1aef99dec43fafe245f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ea861680-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:27Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af02481c-ae51-416b-b10f-54142a7f91d0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617067.0129879} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.888641,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ea861680-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ea861680-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ea861680-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4/signaling 200 34ms","method":"POST","requestID":"ea861680-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ea8b94c0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:27Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a8c5d06-8d21-45fd-8864-748780848eae","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617067.0246181} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.335137,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ea8b94c0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ea8b94c0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ea8b94c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616/signaling 200 8ms","method":"POST","requestID":"ea8b94c0-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616/signaling"} device-1 | {"device":"ac1f8e76-7b95-47ab-a9da-ef88d0143616","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"13933634-4bc3-45e1-89e0-12d5af6344a6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"36348b1f-a88d-4d63-a781-e754ea21c1f4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"13933634-4bc3-45e1-89e0-12d5af6344a6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"36348b1f-a88d-4d63-a781-e754ea21c1f4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"36348b1f-a88d-4d63-a781-e754ea21c1f4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"36348b1f-a88d-4d63-a781-e754ea21c1f4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"36348b1f-a88d-4d63-a781-e754ea21c1f4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"13933634-4bc3-45e1-89e0-12d5af6344a6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4cec2f95a6a7f654097eeec1fbbff721","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4cec2f95a6a7f654097eeec1fbbff721","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4"},{"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/ac1f8e76-7b95-47ab-a9da-ef88d0143616"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6"}}},"level":"info","message":"received a callback","requestID":"4cec2f95a6a7f654097eeec1fbbff721"} device-1 | {"device":"ac1f8e76-7b95-47ab-a9da-ef88d0143616","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ac1f8e76-7b95-47ab-a9da-ef88d0143616","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ac1f8e76-7b95-47ab-a9da-ef88d0143616","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"4cec2f95a6a7f654097eeec1fbbff721","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"4cec2f95a6a7f654097eeec1fbbff721"} device-1 | {"device":"36348b1f-a88d-4d63-a781-e754ea21c1f4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"13933634-4bc3-45e1-89e0-12d5af6344a6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ac1f8e76-7b95-47ab-a9da-ef88d0143616","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ac1f8e76-7b95-47ab-a9da-ef88d0143616","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"36348b1f-a88d-4d63-a781-e754ea21c1f4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"13933634-4bc3-45e1-89e0-12d5af6344a6","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/13933634-4bc3-45e1-89e0-12d5af6344a6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"13933634-4bc3-45e1-89e0-12d5af6344a6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bbda72e070a986a3d027b9c82068d4aa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bbda72e070a986a3d027b9c82068d4aa","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/36348b1f-a88d-4d63-a781-e754ea21c1f4"},{"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/ac1f8e76-7b95-47ab-a9da-ef88d0143616"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6"}}},"level":"info","message":"received a callback","requestID":"bbda72e070a986a3d027b9c82068d4aa"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ebbaed00-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F13933634-4bc3-45e1-89e0-12d5af6344a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b968fe29-647f-448c-802d-5c9dcbffa3ba","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.0124626} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.287937,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ebbaed00-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6","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":"ebbaed00-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ebbaed00-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6 200 7ms","method":"GET","requestID":"ebbaed00-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"bbda72e070a986a3d027b9c82068d4aa","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"bbda72e070a986a3d027b9c82068d4aa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ebbe9680-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"686ed72a-64c9-48f5-9678-f7c5f22a32b8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.0360222} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.500313,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ebbe9680-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","object_type":"device","rebac_allow":false,"scope_allow":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":"ebbe9680-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ebbe9680-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4/signaling 200 8ms","method":"POST","requestID":"ebbe9680-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ebc01d20-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8f3daf6-4e22-43a2-bdc3-07b7e14cede6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.0458865} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.277429,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ebc01d20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","object_type":"device","rebac_allow":false,"scope_allow":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":"ebc01d20-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ebc01d20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616/signaling 200 7ms","method":"POST","requestID":"ebc01d20-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2OX0.inA4aqh8rRbX7dKoXvrIGz0I9Zaf0Pq8BIK-B5HC750","level":"info","message":"auth send jwt","requestID":"6aa01f11ea820425392994060f0aede8"} authentication-1 | {"level":"info","message":"GET /auth 200 24ms","method":"GET","requestID":"6aa01f11ea820425392994060f0aede8","responseTime":24,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d","requestID":"6aa01f11ea820425392994060f0aede8"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.718981,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"6aa01f11ea820425392994060f0aede8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617069,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2OX0.inA4aqh8rRbX7dKoXvrIGz0I9Zaf0Pq8BIK-B5HC750"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6aa01f11ea820425392994060f0aede8","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d","requestID":"6aa01f11ea820425392994060f0aede8"} gateway-1 | {"time_local":"02/Apr/2025:18:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6aa01f11ea820425392994060f0aede8"} experiment-1 | {"level":"info","message":"GET /experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d 200 9ms","method":"GET","requestID":"6aa01f11ea820425392994060f0aede8","responseTime":9,"status":200,"url":"/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2OX0.inA4aqh8rRbX7dKoXvrIGz0I9Zaf0Pq8BIK-B5HC750","level":"info","message":"auth send jwt","requestID":"604b34a8f11683aed30e4671943d1fd0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"604b34a8f11683aed30e4671943d1fd0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d","requestID":"604b34a8f11683aed30e4671943d1fd0"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.771132,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"604b34a8f11683aed30e4671943d1fd0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617069,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2OX0.inA4aqh8rRbX7dKoXvrIGz0I9Zaf0Pq8BIK-B5HC750"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"604b34a8f11683aed30e4671943d1fd0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Attempting to finish experiment","requestID":"604b34a8f11683aed30e4671943d1fd0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ebcfad80-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.720771,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ebcfad80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617069,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2OX0.inA4aqh8rRbX7dKoXvrIGz0I9Zaf0Pq8BIK-B5HC750"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ebcfad80-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"36348b1f-a88d-4d63-a781-e754ea21c1f4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"36348b1f-a88d-4d63-a781-e754ea21c1f4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"36348b1f-a88d-4d63-a781-e754ea21c1f4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ac1f8e76-7b95-47ab-a9da-ef88d0143616","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ac1f8e76-7b95-47ab-a9da-ef88d0143616","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ac1f8e76-7b95-47ab-a9da-ef88d0143616","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"13933634-4bc3-45e1-89e0-12d5af6344a6","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F13933634-4bc3-45e1-89e0-12d5af6344a6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F13933634-4bc3-45e1-89e0-12d5af6344a6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"9a2ffb9c-be57-4d22-9d84-14de3a536b09","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.1815426} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a4895fb-5c6c-4ac7-b30a-4bf56ec6f538","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.1818242} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"596ac30b52ebe53344537342307f30ec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"ebcfad80-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"596ac30b52ebe53344537342307f30ec","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0085daf92ab0d92a62e5f4ee304025fe","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4"},{"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/ac1f8e76-7b95-47ab-a9da-ef88d0143616"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6"}}},"level":"info","message":"received a callback","requestID":"596ac30b52ebe53344537342307f30ec"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0085daf92ab0d92a62e5f4ee304025fe","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4"},{"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/ac1f8e76-7b95-47ab-a9da-ef88d0143616"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6"}}},"level":"info","message":"received a callback","requestID":"0085daf92ab0d92a62e5f4ee304025fe"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ebcfad80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6 204 84ms","method":"DELETE","requestID":"ebcfad80-0fec-11f0-b95a-67cf87457f46","responseTime":84,"status":204,"url":"/peerconnections/13933634-4bc3-45e1-89e0-12d5af6344a6"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"},"level":"info","message":"Successfully finished experiment","requestID":"604b34a8f11683aed30e4671943d1fd0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ebe29940-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36348b1f-a88d-4d63-a781-e754ea21c1f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06d24bd6-8413-4493-8441-f57d7d124e39","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.2720954} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.745207,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ebe29940-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ebe29940-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ebe29940-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/36348b1f-a88d-4d63-a781-e754ea21c1f4/signaling 200 8ms","method":"POST","requestID":"ebe29940-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ebe41fe0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa96b3704-1f3a-4fb1-ac4d-a21582fdf21d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa96b3704-1f3a-4fb1-ac4d-a21582fdf21d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"7404ac80-c74b-4f71-9b6e-8e7bdba3c6d9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.2807078} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"06f73f74-3713-4468-8adb-328ec8f44cb9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.2811315} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"604b34a8f11683aed30e4671943d1fd0","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac1f8e76-7b95-47ab-a9da-ef88d0143616","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e78a3c23-1bdf-492a-951d-a0aa1a693f03","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.2833128} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.367944,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ebe41fe0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616","object_type":"device","rebac_allow":false,"scope_allow":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":"ebe41fe0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ebe41fe0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616/signaling 200 9ms","method":"POST","requestID":"ebe41fe0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/ac1f8e76-7b95-47ab-a9da-ef88d0143616/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d","requestID":"604b34a8f11683aed30e4671943d1fd0"} gateway-1 | {"time_local":"02/Apr/2025:18:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.246","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"604b34a8f11683aed30e4671943d1fd0"} experiment-1 | {"level":"info","message":"DELETE /experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d 204 243ms","method":"DELETE","requestID":"604b34a8f11683aed30e4671943d1fd0","responseTime":243,"status":204,"url":"/experiments/a96b3704-1f3a-4fb1-ac4d-a21582fdf21d"} gateway-1 | {"time_local":"02/Apr/2025:18:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2401","request_time":"2.939","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"acd31b09b273031645f2ce02d770fda4"} gateway-1 | {"time_local":"02/Apr/2025:18:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2403","request_time":"2.991","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"f3c07f7fbae4427ee732fa02cbbd07ec"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"596ac30b52ebe53344537342307f30ec","responseTime":195,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.198","http_referrer":"","http_user_agent":"node-fetch","requestID":"596ac30b52ebe53344537342307f30ec"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"0085daf92ab0d92a62e5f4ee304025fe","responseTime":195,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch","requestID":"0085daf92ab0d92a62e5f4ee304025fe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2OX0.inA4aqh8rRbX7dKoXvrIGz0I9Zaf0Pq8BIK-B5HC750","level":"info","message":"auth send jwt","requestID":"5ff69643c721580ab1efa167263f6f35"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ff69643c721580ab1efa167263f6f35","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5ff69643c721580ab1efa167263f6f35"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/36348b1f-a88d-4d63-a781-e754ea21c1f4' closed"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.820494,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"5ff69643c721580ab1efa167263f6f35","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617069,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2OX0.inA4aqh8rRbX7dKoXvrIGz0I9Zaf0Pq8BIK-B5HC750"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5ff69643c721580ab1efa167263f6f35","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/ac1f8e76-7b95-47ab-a9da-ef88d0143616' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a9cabc63-ad1d-43f3-af3d-1bcf50ba0c8b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.459161} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5ff69643c721580ab1efa167263f6f35","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b427ff73-5a8d-41f1-95eb-3ed50135f22c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.4659092} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"5ff69643c721580ab1efa167263f6f35","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"ec4a7388-b799-4726-b681-e485c30e1f5d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.5058813} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8bf9b278-5592-4df0-8887-54b2790e99a6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.5059536} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"5ff69643c721580ab1efa167263f6f35","responseTime":45,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.505833727Z"}]},"request_id":"914ecd4c-4c3d-42c9-8600-6f4595f83f00","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.5147285} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5ff69643c721580ab1efa167263f6f35","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5ff69643c721580ab1efa167263f6f35"} gateway-1 | {"time_local":"02/Apr/2025:18:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ff69643c721580ab1efa167263f6f35"} device-1 | {"level":"info","message":"POST /devices? 201 106ms","method":"POST","requestID":"5ff69643c721580ab1efa167263f6f35","responseTime":106,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2OX0.inA4aqh8rRbX7dKoXvrIGz0I9Zaf0Pq8BIK-B5HC750","level":"info","message":"auth send jwt","requestID":"e09a82b24148236698596483431c0994"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e09a82b24148236698596483431c0994","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e09a82b24148236698596483431c0994"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.858929,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e09a82b24148236698596483431c0994","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617069,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA2OX0.inA4aqh8rRbX7dKoXvrIGz0I9Zaf0Pq8BIK-B5HC750"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"e09a82b24148236698596483431c0994","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"59b8e483-040f-45c9-b1fe-35e1b8e4f648","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.6086268} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e09a82b24148236698596483431c0994","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5ba440b-e1e3-43e0-846f-afb1a389c144","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.6129134} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e09a82b24148236698596483431c0994","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"8f42bf98-8daa-4370-8071-196f073ebe6e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.6223106} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"861f1155-c178-4f0f-980e-957a55a712c7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.622505} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"e09a82b24148236698596483431c0994","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.622287854Z"}]},"request_id":"8511942e-e4b7-4bd5-8e1b-ddca33ac8fde","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617069.6504085} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e09a82b24148236698596483431c0994","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e09a82b24148236698596483431c0994"} device-1 | {"level":"info","message":"POST /devices? 201 129ms","method":"POST","requestID":"e09a82b24148236698596483431c0994","responseTime":129,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e09a82b24148236698596483431c0994"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg","level":"info","message":"auth send jwt","requestID":"499c5888a53b1c4dd996a5e132923cd5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"499c5888a53b1c4dd996a5e132923cd5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"499c5888a53b1c4dd996a5e132923cd5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg","level":"info","message":"auth send jwt","requestID":"8568b268bd085249b338d0e8ecba4141"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8568b268bd085249b338d0e8ecba4141","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8568b268bd085249b338d0e8ecba4141"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623233,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"499c5888a53b1c4dd996a5e132923cd5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617070,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"499c5888a53b1c4dd996a5e132923cd5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.853615,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"8568b268bd085249b338d0e8ecba4141","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617070,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8568b268bd085249b338d0e8ecba4141","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.505833727Z"}]},"request_id":"ef559baa-351a-43ee-ab7f-eacdfdf35af1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617070.5823734} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"499c5888a53b1c4dd996a5e132923cd5","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.622287854Z"}]},"request_id":"e28a5384-9cc7-47a5-80d3-50e247cb04c2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617070.5828826} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8568b268bd085249b338d0e8ecba4141","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70a3ccc0-5741-41fb-a1c6-aa76707c0ebc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617070.6106877} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"499c5888a53b1c4dd996a5e132923cd5","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28ecae44-7830-42b3-bc48-243928d69d23","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617070.6118848} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8568b268bd085249b338d0e8ecba4141","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.622287854Z"}]},"request_id":"dbe799a2-af62-4e76-b2d5-a43d25f1d316","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617070.6145008} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8568b268bd085249b338d0e8ecba4141","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8568b268bd085249b338d0e8ecba4141"} device-1 | {"level":"info","message":"PATCH /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e 200 42ms","method":"PATCH","requestID":"8568b268bd085249b338d0e8ecba4141","responseTime":42,"status":200,"url":"/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e"} gateway-1 | {"time_local":"02/Apr/2025:18:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"8568b268bd085249b338d0e8ecba4141"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg","level":"info","message":"auth send jwt","requestID":"246238decf04f12dea5b2c62174a2fcf"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"246238decf04f12dea5b2c62174a2fcf","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"246238decf04f12dea5b2c62174a2fcf"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920642,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"246238decf04f12dea5b2c62174a2fcf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617070,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"246238decf04f12dea5b2c62174a2fcf","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.505833727Z"}]},"request_id":"f1975bb8-2f50-4bee-991e-10b10cd9d38f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617070.6692126} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"499c5888a53b1c4dd996a5e132923cd5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"499c5888a53b1c4dd996a5e132923cd5"} gateway-1 | {"time_local":"02/Apr/2025:18:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8bec4a84-572b-4417-b144-56d76b828a17 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.102","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"499c5888a53b1c4dd996a5e132923cd5"} device-1 | {"level":"info","message":"PATCH /devices/8bec4a84-572b-4417-b144-56d76b828a17 200 98ms","method":"PATCH","requestID":"499c5888a53b1c4dd996a5e132923cd5","responseTime":98,"status":200,"url":"/devices/8bec4a84-572b-4417-b144-56d76b828a17"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg","level":"info","message":"auth send jwt","requestID":"7536879dde9e2ff4d38eafa31372b340"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7536879dde9e2ff4d38eafa31372b340","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7536879dde9e2ff4d38eafa31372b340"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733211,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7536879dde9e2ff4d38eafa31372b340","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617070,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7536879dde9e2ff4d38eafa31372b340","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"246238decf04f12dea5b2c62174a2fcf"} gateway-1 | {"time_local":"02/Apr/2025:18:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.089","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"246238decf04f12dea5b2c62174a2fcf"} device-1 | {"level":"info","message":"POST /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e/websocket 200 86ms","method":"POST","requestID":"246238decf04f12dea5b2c62174a2fcf","responseTime":86,"status":200,"url":"/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7536879dde9e2ff4d38eafa31372b340"} gateway-1 | {"time_local":"02/Apr/2025:18:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8bec4a84-572b-4417-b144-56d76b828a17/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"7536879dde9e2ff4d38eafa31372b340"} device-1 | {"level":"info","message":"POST /devices/8bec4a84-572b-4417-b144-56d76b828a17/websocket 200 36ms","method":"POST","requestID":"7536879dde9e2ff4d38eafa31372b340","responseTime":36,"status":200,"url":"/devices/8bec4a84-572b-4417-b144-56d76b828a17/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg","level":"info","message":"auth send jwt","requestID":"b6ea0cbcfd164e0c393be3ce65392a09"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"b6ea0cbcfd164e0c393be3ce65392a09","responseTime":23,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b6ea0cbcfd164e0c393be3ce65392a09"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678102,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b6ea0cbcfd164e0c393be3ce65392a09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617070,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b6ea0cbcfd164e0c393be3ce65392a09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.505833727Z"}]},"request_id":"9a38248f-f174-4237-a102-6d70f81403af","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617070.7627132} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b6ea0cbcfd164e0c393be3ce65392a09","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b6ea0cbcfd164e0c393be3ce65392a09"} device-1 | {"level":"info","message":"GET /devices/8bec4a84-572b-4417-b144-56d76b828a17? 200 9ms","method":"GET","requestID":"b6ea0cbcfd164e0c393be3ce65392a09","responseTime":9,"status":200,"url":"/devices/8bec4a84-572b-4417-b144-56d76b828a17?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8bec4a84-572b-4417-b144-56d76b828a17? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6ea0cbcfd164e0c393be3ce65392a09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg","level":"info","message":"auth send jwt","requestID":"e60cccb1c625f91324d15ae47c908ab1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e60cccb1c625f91324d15ae47c908ab1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e60cccb1c625f91324d15ae47c908ab1"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6385,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e60cccb1c625f91324d15ae47c908ab1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617070,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e60cccb1c625f91324d15ae47c908ab1","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.622287854Z"}]},"request_id":"e64479b7-2cad-4202-ab3a-d3c446375bf6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617070.7766411} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"e60cccb1c625f91324d15ae47c908ab1","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e60cccb1c625f91324d15ae47c908ab1"} gateway-1 | {"time_local":"02/Apr/2025:18:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e? 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":"e60cccb1c625f91324d15ae47c908ab1"} device-1 | {"level":"info","message":"GET /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e? 200 35ms","method":"GET","requestID":"e60cccb1c625f91324d15ae47c908ab1","responseTime":35,"status":200,"url":"/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg","level":"info","message":"auth send jwt","requestID":"10ec2ab2d47a89756c0350346fa69f02"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"10ec2ab2d47a89756c0350346fa69f02","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"10ec2ab2d47a89756c0350346fa69f02"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.717668,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"10ec2ab2d47a89756c0350346fa69f02","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617070,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"10ec2ab2d47a89756c0350346fa69f02","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Attempting to run experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Attempting to book experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Successfully booked experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ecdbc650-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ecdbed60-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677705,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ecdbc650-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617070,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ecdbc650-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.608955,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ecdbed60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617070,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ecdbed60-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.505833727Z"}]},"request_id":"f428bbaf-23a9-4e73-a456-7517d4baff93","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617070.9089622} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ecdbc650-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.622287854Z"}]},"request_id":"efbff9a8-3b75-43cd-a62c-5adc4893b709","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617070.9099975} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ecdbed60-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ecdbc650-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/8bec4a84-572b-4417-b144-56d76b828a17? 200 14ms","method":"GET","requestID":"ecdbc650-0fec-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/8bec4a84-572b-4417-b144-56d76b828a17?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ecdbed60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e? 200 14ms","method":"GET","requestID":"ecdbed60-0fec-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Setting up experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Successfully set up experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ecebf2f0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ecec1a00-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ecec6820-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733395,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ecebf2f0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617070,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Successfully running experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ecebf2f0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.849607,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ecec1a00-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617070,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ecec1a00-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0fad577-412a-44f3-a51f-244123e9c82f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.016421} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.622287854Z"}]},"request_id":"978852d7-49d8-469e-9c52-6a4e9c9dea3b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.0421515} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.341543,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ecec6820-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","object_type":"device","rebac_allow":false,"scope_allow":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":"ecec6820-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"ecec1a00-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.505833727Z"}]},"request_id":"879e2f3b-588e-4759-afaf-c40e7fed3cdc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.0429602} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ecebf2f0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ecec6820-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F69c451ff-27ce-4994-b699-df9c459bc73e#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F69c451ff-27ce-4994-b699-df9c459bc73e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"7d002952-ffc4-4ebd-95a3-e9331a7bb304","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.0495336} device-1 | {"level":"info","message":"POST /devices/8bec4a84-572b-4417-b144-56d76b828a17/signaling 200 40ms","method":"POST","requestID":"ecec6820-0fec-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/devices/8bec4a84-572b-4417-b144-56d76b828a17/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ecec1a00-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e? 200 43ms","method":"GET","requestID":"ecec1a00-0fec-11f0-b95a-67cf87457f46","responseTime":43,"status":200,"url":"/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e72b9ed-2312-482d-982e-c369a8efb315","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.0499096} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ecebf2f0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"10ec2ab2d47a89756c0350346fa69f02","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/8bec4a84-572b-4417-b144-56d76b828a17? 200 44ms","method":"GET","requestID":"ecebf2f0-0fec-11f0-b95a-67cf87457f46","responseTime":44,"status":200,"url":"/devices/8bec4a84-572b-4417-b144-56d76b828a17?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ecf2d0c0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd167203-f959-497c-a937-d5336244d25d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.0562723} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.385673,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ecf2d0c0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","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":"ecf39410-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ecf2d0c0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:31Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"10ec2ab2d47a89756c0350346fa69f02"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ecf2d0c0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f307f480-0ed5-4179-8ef5-b1db5e4094d3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.0623655} device-1 | {"level":"info","message":"POST /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e/signaling 200 9ms","method":"POST","requestID":"ecf2d0c0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 252ms","method":"POST","requestID":"10ec2ab2d47a89756c0350346fa69f02","responseTime":252,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.256","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"10ec2ab2d47a89756c0350346fa69f02"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.01517,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ecf39410-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ecf39410-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"19ae908c12444bff5fb02e18e272d2b1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ecf39410-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MX0._u3vR7JpGro8M1qwA6R5vMstJXIBxpyuFOWJzr1YEys","level":"info","message":"auth send jwt","requestID":"19ae908c12444bff5fb02e18e272d2b1"} device-1 | {"level":"info","message":"POST /devices/8bec4a84-572b-4417-b144-56d76b828a17/signaling 200 35ms","method":"POST","requestID":"ecf39410-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/8bec4a84-572b-4417-b144-56d76b828a17/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"19ae908c12444bff5fb02e18e272d2b1","responseTime":26,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.098274,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"19ae908c12444bff5fb02e18e272d2b1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617071,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MX0._u3vR7JpGro8M1qwA6R5vMstJXIBxpyuFOWJzr1YEys"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ecf93960-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"19ae908c12444bff5fb02e18e272d2b1","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.505833727Z"}]},"request_id":"7a9d66f5-9763-456a-ac9b-ac43b8a60cf8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.098372} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96cd8943-c62a-43dd-952e-0c95d34d9105","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.0984774} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"19ae908c12444bff5fb02e18e272d2b1","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.516188,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ecf93960-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ecf93960-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"19ae908c12444bff5fb02e18e272d2b1"} gateway-1 | {"time_local":"02/Apr/2025:18:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8bec4a84-572b-4417-b144-56d76b828a17? 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":"19ae908c12444bff5fb02e18e272d2b1"} device-1 | {"level":"info","message":"GET /devices/8bec4a84-572b-4417-b144-56d76b828a17? 200 12ms","method":"GET","requestID":"19ae908c12444bff5fb02e18e272d2b1","responseTime":12,"status":200,"url":"/devices/8bec4a84-572b-4417-b144-56d76b828a17?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ecf93960-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e/signaling 200 9ms","method":"POST","requestID":"ecf93960-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Building connection plan","requestID":"10ec2ab2d47a89756c0350346fa69f02"} 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":"2978ac2a-fd31-451a-9963-a3251a8c8d2f"},{"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":"ca6368ea-6ca9-46ca-b1d4-865768d7a197"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"dd4b5aba-8397-413b-84a6-12b26ebf9790"}]},"level":"info","message":"Built pairwise service configurations","requestID":"10ec2ab2d47a89756c0350346fa69f02"} 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/ec0f0499-acbd-4625-8dfb-fc96c31df52e"},{"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/8bec4a84-572b-4417-b144-56d76b828a17"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"10ec2ab2d47a89756c0350346fa69f02"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"ecfb0e20-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MX0._u3vR7JpGro8M1qwA6R5vMstJXIBxpyuFOWJzr1YEys","level":"info","message":"auth send jwt","requestID":"df2e206565ecdb668505c77278a9444b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"df2e206565ecdb668505c77278a9444b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"df2e206565ecdb668505c77278a9444b"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.909717,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ecfb0e20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617070,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MH0.ZIuOFwneiLhNrSrYVksXKPuu5dmNqTSWJ_5AA0OX2yg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ecfb0e20-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713116,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"df2e206565ecdb668505c77278a9444b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617071,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3MX0._u3vR7JpGro8M1qwA6R5vMstJXIBxpyuFOWJzr1YEys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"df2e206565ecdb668505c77278a9444b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:29.622287854Z"}]},"request_id":"841525c3-a21d-42bf-9b52-7f43079c08ae","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.1393945} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"df2e206565ecdb668505c77278a9444b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"df2e206565ecdb668505c77278a9444b"} gateway-1 | {"time_local":"02/Apr/2025:18:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e? 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":"df2e206565ecdb668505c77278a9444b"} device-1 | {"level":"info","message":"GET /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e? 200 35ms","method":"GET","requestID":"df2e206565ecdb668505c77278a9444b","responseTime":35,"status":200,"url":"/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c755a958-8d56-447b-972d-bf965881c9f8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.1437497} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"0b8c0dc0-4e6b-4283-a62c-a520fa5e23aa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.143798} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"ecfb0e20-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"ecfb0e20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"ecfb0e20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5'","requestID":"ecfb0e20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5'","requestID":"ecfb0e20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"ecfb0e20-0fec-11f0-b95a-67cf87457f46"} 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":"ecfb0e20-0fec-11f0-b95a-67cf87457f46","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":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"ecfb0e20-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"10ec2ab2d47a89756c0350346fa69f02"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed117c50-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45278f4e-3de3-4601-bdde-3f30d311086d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.2818913} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.617527,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ed117c50-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","object_type":"device","rebac_allow":false,"scope_allow":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":"ed117c50-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed117c50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8bec4a84-572b-4417-b144-56d76b828a17/signaling 200 33ms","method":"POST","requestID":"ed117c50-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/8bec4a84-572b-4417-b144-56d76b828a17/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed16d380-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c5e8f06-a88a-49df-b144-a6924330d84f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617071.293078} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.926212,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ed16d380-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ed16d380-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed16d380-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e/signaling 200 9ms","method":"POST","requestID":"ed16d380-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e/signaling"} device-1 | {"device":"8bec4a84-572b-4417-b144-56d76b828a17","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"430a29a4-088f-4d4b-adf3-03446782ecf5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ec0f0499-acbd-4625-8dfb-fc96c31df52e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"430a29a4-088f-4d4b-adf3-03446782ecf5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ec0f0499-acbd-4625-8dfb-fc96c31df52e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ec0f0499-acbd-4625-8dfb-fc96c31df52e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ec0f0499-acbd-4625-8dfb-fc96c31df52e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ec0f0499-acbd-4625-8dfb-fc96c31df52e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"430a29a4-088f-4d4b-adf3-03446782ecf5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"20fcb70efa4ba0d4d1ca6b0788519c98","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"20fcb70efa4ba0d4d1ca6b0788519c98","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/ec0f0499-acbd-4625-8dfb-fc96c31df52e"},{"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/8bec4a84-572b-4417-b144-56d76b828a17"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5"}}},"level":"info","message":"received a callback","requestID":"20fcb70efa4ba0d4d1ca6b0788519c98"} device-1 | {"device":"8bec4a84-572b-4417-b144-56d76b828a17","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8bec4a84-572b-4417-b144-56d76b828a17","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8bec4a84-572b-4417-b144-56d76b828a17","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"20fcb70efa4ba0d4d1ca6b0788519c98","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"20fcb70efa4ba0d4d1ca6b0788519c98"} device-1 | {"device":"ec0f0499-acbd-4625-8dfb-fc96c31df52e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8bec4a84-572b-4417-b144-56d76b828a17","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ec0f0499-acbd-4625-8dfb-fc96c31df52e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8bec4a84-572b-4417-b144-56d76b828a17","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"430a29a4-088f-4d4b-adf3-03446782ecf5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"430a29a4-088f-4d4b-adf3-03446782ecf5","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/430a29a4-088f-4d4b-adf3-03446782ecf5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"430a29a4-088f-4d4b-adf3-03446782ecf5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d214d1832162ce4931340ac89bf6c3f5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d214d1832162ce4931340ac89bf6c3f5","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/ec0f0499-acbd-4625-8dfb-fc96c31df52e"},{"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/8bec4a84-572b-4417-b144-56d76b828a17"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5"}}},"level":"info","message":"received a callback","requestID":"d214d1832162ce4931340ac89bf6c3f5"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ee532410-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F430a29a4-088f-4d4b-adf3-03446782ecf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"432f492c-f2a6-4022-9793-63eede925bfa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.3651705} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.670247,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ee532410-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5","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":"ee532410-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ee532410-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5 200 31ms","method":"GET","requestID":"ee532410-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"d214d1832162ce4931340ac89bf6c3f5","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"d214d1832162ce4931340ac89bf6c3f5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ee5a9e20-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:33Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3M30.a6XPDImCfo_T_J7yIxxkBFBxqGCgCgDwW-4abFIoGwA","level":"info","message":"auth send jwt","requestID":"ac228baaf65a5bfc5805e8378240ba8f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ac228baaf65a5bfc5805e8378240ba8f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/69c451ff-27ce-4994-b699-df9c459bc73e","requestID":"ac228baaf65a5bfc5805e8378240ba8f"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"732f37e9-aa91-4995-879c-6c28793da48c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.414883} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.164792,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ee5a9e20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","object_type":"device","rebac_allow":false,"scope_allow":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":"ee5a9e20-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.732607,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ac228baaf65a5bfc5805e8378240ba8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617073,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3M30.a6XPDImCfo_T_J7yIxxkBFBxqGCgCgDwW-4abFIoGwA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ac228baaf65a5bfc5805e8378240ba8f","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ee5a9e20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e/signaling 200 37ms","method":"POST","requestID":"ee5a9e20-0fec-11f0-b95a-67cf87457f46","responseTime":37,"status":200,"url":"/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/69c451ff-27ce-4994-b699-df9c459bc73e","requestID":"ac228baaf65a5bfc5805e8378240ba8f"} experiment-1 | {"level":"info","message":"GET /experiments/69c451ff-27ce-4994-b699-df9c459bc73e 200 34ms","method":"GET","requestID":"ac228baaf65a5bfc5805e8378240ba8f","responseTime":34,"status":200,"url":"/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"} gateway-1 | {"time_local":"02/Apr/2025:18:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/69c451ff-27ce-4994-b699-df9c459bc73e 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":"ac228baaf65a5bfc5805e8378240ba8f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ee60b8a0-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3M30.a6XPDImCfo_T_J7yIxxkBFBxqGCgCgDwW-4abFIoGwA","level":"info","message":"auth send jwt","requestID":"4db11b78e32099c6906cb5bb4a873c16"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4db11b78e32099c6906cb5bb4a873c16","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:33Z"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/69c451ff-27ce-4994-b699-df9c459bc73e","requestID":"4db11b78e32099c6906cb5bb4a873c16"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a356a970-bc0a-4cf0-91ca-af5866c5aa99","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.4549413} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.686853,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ee60b8a0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ee60b8a0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.655328,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4db11b78e32099c6906cb5bb4a873c16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617073,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3M30.a6XPDImCfo_T_J7yIxxkBFBxqGCgCgDwW-4abFIoGwA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4db11b78e32099c6906cb5bb4a873c16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ee60b8a0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8bec4a84-572b-4417-b144-56d76b828a17/signaling 200 9ms","method":"POST","requestID":"ee60b8a0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/8bec4a84-572b-4417-b144-56d76b828a17/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Attempting to finish experiment","requestID":"4db11b78e32099c6906cb5bb4a873c16"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ee62db80-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.706444,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ee62db80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617073,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3M30.a6XPDImCfo_T_J7yIxxkBFBxqGCgCgDwW-4abFIoGwA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ee62db80-0fec-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"device":"8bec4a84-572b-4417-b144-56d76b828a17","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8bec4a84-572b-4417-b144-56d76b828a17","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8bec4a84-572b-4417-b144-56d76b828a17","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ec0f0499-acbd-4625-8dfb-fc96c31df52e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ec0f0499-acbd-4625-8dfb-fc96c31df52e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ec0f0499-acbd-4625-8dfb-fc96c31df52e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"430a29a4-088f-4d4b-adf3-03446782ecf5","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F430a29a4-088f-4d4b-adf3-03446782ecf5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F430a29a4-088f-4d4b-adf3-03446782ecf5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"8cd879e9-7dc1-488e-88b4-4f9ee4b90dde","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.5012736} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8aabdaf7ef068d4fdf7106e038be2650","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8aabdaf7ef068d4fdf7106e038be2650","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64d3666c-ba49-439a-acf7-ce2ae0d248d5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.5016227} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3d0936a5649b331c1113422fdb9551c4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"ee62db80-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5"}}},"level":"info","message":"received a callback","requestID":"8aabdaf7ef068d4fdf7106e038be2650"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"3d0936a5649b331c1113422fdb9551c4","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5"}}},"level":"info","message":"received a callback","requestID":"3d0936a5649b331c1113422fdb9551c4"} device-1 | {"data":{"peerconnection":"430a29a4-088f-4d4b-adf3-03446782ecf5","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ee62db80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5 204 95ms","method":"DELETE","requestID":"ee62db80-0fec-11f0-b95a-67cf87457f46","responseTime":95,"status":204,"url":"/peerconnections/430a29a4-088f-4d4b-adf3-03446782ecf5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"},"level":"info","message":"Successfully finished experiment","requestID":"4db11b78e32099c6906cb5bb4a873c16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ee779c00-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0f0499-acbd-4625-8dfb-fc96c31df52e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17103494-9eaa-487b-8a7d-25b3188267ef","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.6047397} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.351772,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ee779c00-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e","object_type":"device","rebac_allow":false,"scope_allow":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":"ee779c00-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ee779c00-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e/signaling 200 8ms","method":"POST","requestID":"ee779c00-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ee7ccc20-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F69c451ff-27ce-4994-b699-df9c459bc73e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F69c451ff-27ce-4994-b699-df9c459bc73e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"0f4e3219-34de-44a4-b80e-7574bd9eb153","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.6382322} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3e18edb-1c3d-4b53-b2e8-7d8e0e2f1290","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.6383948} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bec4a84-572b-4417-b144-56d76b828a17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46547026-60f3-4006-9075-b83df175435d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.638702} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"4db11b78e32099c6906cb5bb4a873c16","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.035597,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ee7ccc20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8bec4a84-572b-4417-b144-56d76b828a17","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ee7ccc20-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ee7ccc20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/8bec4a84-572b-4417-b144-56d76b828a17/signaling 200 9ms","method":"POST","requestID":"ee7ccc20-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/8bec4a84-572b-4417-b144-56d76b828a17/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/69c451ff-27ce-4994-b699-df9c459bc73e","requestID":"4db11b78e32099c6906cb5bb4a873c16"} gateway-1 | {"time_local":"02/Apr/2025:18:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/69c451ff-27ce-4994-b699-df9c459bc73e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.298","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4db11b78e32099c6906cb5bb4a873c16"} experiment-1 | {"level":"info","message":"DELETE /experiments/69c451ff-27ce-4994-b699-df9c459bc73e 204 295ms","method":"DELETE","requestID":"4db11b78e32099c6906cb5bb4a873c16","responseTime":295,"status":204,"url":"/experiments/69c451ff-27ce-4994-b699-df9c459bc73e"} gateway-1 | {"time_local":"02/Apr/2025:18:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2403","request_time":"3.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"5890cb56cb6574650affeb3163b75fcc"} gateway-1 | {"time_local":"02/Apr/2025:18:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2401","request_time":"3.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"5f33788e6dd414dfe2bbbabe723b00b3"} gateway-1 | {"time_local":"02/Apr/2025:18:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.250","http_referrer":"","http_user_agent":"node-fetch","requestID":"8aabdaf7ef068d4fdf7106e038be2650"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 247ms","method":"POST","requestID":"8aabdaf7ef068d4fdf7106e038be2650","responseTime":247,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.250","http_referrer":"","http_user_agent":"node-fetch","requestID":"3d0936a5649b331c1113422fdb9551c4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 247ms","method":"POST","requestID":"3d0936a5649b331c1113422fdb9551c4","responseTime":247,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3M30.a6XPDImCfo_T_J7yIxxkBFBxqGCgCgDwW-4abFIoGwA","level":"info","message":"auth send jwt","requestID":"d2448629bbcd01877b927c113833f039"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"d2448629bbcd01877b927c113833f039","responseTime":27,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ec0f0499-acbd-4625-8dfb-fc96c31df52e' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"d2448629bbcd01877b927c113833f039"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.771028,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d2448629bbcd01877b927c113833f039","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617073,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3M30.a6XPDImCfo_T_J7yIxxkBFBxqGCgCgDwW-4abFIoGwA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2448629bbcd01877b927c113833f039","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/8bec4a84-572b-4417-b144-56d76b828a17' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"831c014d-905b-4dc2-8fd4-152c71054b25","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.8025608} authorization-1 | {"level":"info","message":"POST /relations/query 200 25ms","method":"POST","requestID":"d2448629bbcd01877b927c113833f039","responseTime":25,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74918dba-44ba-4fca-88db-83818bf3644c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.82818} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"d2448629bbcd01877b927c113833f039","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"f2d79bac-245e-4777-b610-120c0ad30810","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.839712} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8195fcea-3ff5-4a52-abbf-f9dd9d55e2e8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.8397627} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"d2448629bbcd01877b927c113833f039","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:33.839676672Z"}]},"request_id":"a5545055-5079-434b-9d64-bb6767cd33e2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.8453307} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d2448629bbcd01877b927c113833f039","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d2448629bbcd01877b927c113833f039"} gateway-1 | {"time_local":"02/Apr/2025:18:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2448629bbcd01877b927c113833f039"} device-1 | {"level":"info","message":"POST /devices? 201 68ms","method":"POST","requestID":"d2448629bbcd01877b927c113833f039","responseTime":68,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3M30.a6XPDImCfo_T_J7yIxxkBFBxqGCgCgDwW-4abFIoGwA","level":"info","message":"auth send jwt","requestID":"9c3891741c0163d4b71eae05306fab33"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9c3891741c0163d4b71eae05306fab33","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9c3891741c0163d4b71eae05306fab33"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.709467,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"9c3891741c0163d4b71eae05306fab33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617073,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3M30.a6XPDImCfo_T_J7yIxxkBFBxqGCgCgDwW-4abFIoGwA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9c3891741c0163d4b71eae05306fab33","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e3d3b9f3-d730-4029-9de1-08304febad61","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.9337943} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9c3891741c0163d4b71eae05306fab33","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f81d60f5-5e97-4d78-8c7e-875f3607de55","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.9394634} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9c3891741c0163d4b71eae05306fab33","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"3f649063-f107-4a22-a203-9f4e2baf59db","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.9769886} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1516db89-3971-41e4-8432-a83a8392b41a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.9771898} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"9c3891741c0163d4b71eae05306fab33","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:33.976956856Z"}]},"request_id":"0317f591-5433-49e3-a4fe-bf8da8d96eb6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617073.9818208} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9c3891741c0163d4b71eae05306fab33","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9c3891741c0163d4b71eae05306fab33"} gateway-1 | {"time_local":"02/Apr/2025:18:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.111","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c3891741c0163d4b71eae05306fab33"} device-1 | {"level":"info","message":"POST /devices? 201 105ms","method":"POST","requestID":"9c3891741c0163d4b71eae05306fab33","responseTime":105,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"064679ad93c65ec5404052b9590cf52f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"064679ad93c65ec5404052b9590cf52f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/626f0014-d223-4d8d-82fb-55fdb03e811e/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":"064679ad93c65ec5404052b9590cf52f"} device-1 | {"level":"info","message":"OPTIONS /devices/626f0014-d223-4d8d-82fb-55fdb03e811e/websocket 200 0ms","method":"OPTIONS","requestID":"064679ad93c65ec5404052b9590cf52f","responseTime":0,"status":200,"url":"/devices/626f0014-d223-4d8d-82fb-55fdb03e811e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k","level":"info","message":"auth send jwt","requestID":"0e05f63a2d7b17cd19a7e7c24ca18bc0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0e05f63a2d7b17cd19a7e7c24ca18bc0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0e05f63a2d7b17cd19a7e7c24ca18bc0"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631475,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0e05f63a2d7b17cd19a7e7c24ca18bc0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617076,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0e05f63a2d7b17cd19a7e7c24ca18bc0","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ac0a33a864b3716f3ca075529d24c4a8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ac0a33a864b3716f3ca075529d24c4a8","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/21ff766c-e780-4237-90db-bfd09fdc72f6/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":"ac0a33a864b3716f3ca075529d24c4a8"} device-1 | {"level":"info","message":"OPTIONS /devices/21ff766c-e780-4237-90db-bfd09fdc72f6/websocket 200 0ms","method":"OPTIONS","requestID":"ac0a33a864b3716f3ca075529d24c4a8","responseTime":0,"status":200,"url":"/devices/21ff766c-e780-4237-90db-bfd09fdc72f6/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0e05f63a2d7b17cd19a7e7c24ca18bc0"} gateway-1 | {"time_local":"02/Apr/2025:18:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/626f0014-d223-4d8d-82fb-55fdb03e811e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.098","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0e05f63a2d7b17cd19a7e7c24ca18bc0"} device-1 | {"level":"info","message":"POST /devices/626f0014-d223-4d8d-82fb-55fdb03e811e/websocket 200 95ms","method":"POST","requestID":"0e05f63a2d7b17cd19a7e7c24ca18bc0","responseTime":95,"status":200,"url":"/devices/626f0014-d223-4d8d-82fb-55fdb03e811e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k","level":"info","message":"auth send jwt","requestID":"14c94050404e0bc218fa263a007e1a84"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"14c94050404e0bc218fa263a007e1a84"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"14c94050404e0bc218fa263a007e1a84","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904343,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"14c94050404e0bc218fa263a007e1a84","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617076,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"14c94050404e0bc218fa263a007e1a84","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"14c94050404e0bc218fa263a007e1a84"} gateway-1 | {"time_local":"02/Apr/2025:18:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/21ff766c-e780-4237-90db-bfd09fdc72f6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.015","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"14c94050404e0bc218fa263a007e1a84"} device-1 | {"level":"info","message":"POST /devices/21ff766c-e780-4237-90db-bfd09fdc72f6/websocket 200 11ms","method":"POST","requestID":"14c94050404e0bc218fa263a007e1a84","responseTime":11,"status":200,"url":"/devices/21ff766c-e780-4237-90db-bfd09fdc72f6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k","level":"info","message":"auth send jwt","requestID":"05146b3eab41e098e9e8c797f1f2d456"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"05146b3eab41e098e9e8c797f1f2d456","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"05146b3eab41e098e9e8c797f1f2d456"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657911,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05146b3eab41e098e9e8c797f1f2d456","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617076,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"05146b3eab41e098e9e8c797f1f2d456","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:33.839676672Z"}]},"request_id":"19ec6a5c-8e3a-4367-9b2a-7cb9a222414f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.5220082} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"05146b3eab41e098e9e8c797f1f2d456","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"05146b3eab41e098e9e8c797f1f2d456"} gateway-1 | {"time_local":"02/Apr/2025:18:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/626f0014-d223-4d8d-82fb-55fdb03e811e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05146b3eab41e098e9e8c797f1f2d456"} device-1 | {"level":"info","message":"GET /devices/626f0014-d223-4d8d-82fb-55fdb03e811e? 200 10ms","method":"GET","requestID":"05146b3eab41e098e9e8c797f1f2d456","responseTime":10,"status":200,"url":"/devices/626f0014-d223-4d8d-82fb-55fdb03e811e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k","level":"info","message":"auth send jwt","requestID":"9ccd1fde1a3aabbd86e8cf1078279640"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9ccd1fde1a3aabbd86e8cf1078279640","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ccd1fde1a3aabbd86e8cf1078279640"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708341,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"9ccd1fde1a3aabbd86e8cf1078279640","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617076,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9ccd1fde1a3aabbd86e8cf1078279640","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:33.976956856Z"}]},"request_id":"c84869d6-9d10-407f-bd49-3982b5d9f7ab","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.5358846} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"9ccd1fde1a3aabbd86e8cf1078279640","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ccd1fde1a3aabbd86e8cf1078279640"} gateway-1 | {"time_local":"02/Apr/2025:18:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/21ff766c-e780-4237-90db-bfd09fdc72f6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ccd1fde1a3aabbd86e8cf1078279640"} device-1 | {"level":"info","message":"GET /devices/21ff766c-e780-4237-90db-bfd09fdc72f6? 200 34ms","method":"GET","requestID":"9ccd1fde1a3aabbd86e8cf1078279640","responseTime":34,"status":200,"url":"/devices/21ff766c-e780-4237-90db-bfd09fdc72f6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k","level":"info","message":"auth send jwt","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"22f5a65a2c44bae50c721d00c13fc4ed","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.685954,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"22f5a65a2c44bae50c721d00c13fc4ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617076,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"22f5a65a2c44bae50c721d00c13fc4ed","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Attempting to run experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Attempting to book experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Successfully booked experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f0455720-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f0457e30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623339,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f0455720-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617076,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f0455720-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74749,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f0457e30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617076,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f0457e30-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:33.839676672Z"}]},"request_id":"0e757973-c19b-4d24-8426-4f0ae328faac","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.6326735} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"f0455720-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:33.976956856Z"}]},"request_id":"232e8623-3d33-433a-9837-dce09d5d9d27","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.6576257} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"f0457e30-0fec-11f0-b95a-67cf87457f46","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f0455720-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/626f0014-d223-4d8d-82fb-55fdb03e811e? 200 35ms","method":"GET","requestID":"f0455720-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/626f0014-d223-4d8d-82fb-55fdb03e811e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f0457e30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/21ff766c-e780-4237-90db-bfd09fdc72f6? 200 35ms","method":"GET","requestID":"f0457e30-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/21ff766c-e780-4237-90db-bfd09fdc72f6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Setting up experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Successfully locked booking for experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Attempting to update booking for experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Successfully updated booking for experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Successfully set up experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f054e780-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f058b810-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f058df20-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Successfully running experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.830277,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f054e780-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617076,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f054e780-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.801548,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f058b810-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617076,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f058b810-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.563138,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc6f94ce-4e5d-48d9-8def-7630129ad9c0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.761347} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f058df20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f058df20-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f058df20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/626f0014-d223-4d8d-82fb-55fdb03e811e/signaling 200 12ms","method":"POST","requestID":"f058df20-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/626f0014-d223-4d8d-82fb-55fdb03e811e/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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:33.976956856Z"}]},"request_id":"55793a8e-b842-4dd0-9b70-2efa06d54c54","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.76615} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f058b810-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:33.839676672Z"}]},"request_id":"302dc014-d9ff-448c-97bb-3950d7e92ca2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.7673447} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f054e780-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f05b2910-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f058b810-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/21ff766c-e780-4237-90db-bfd09fdc72f6? 200 20ms","method":"GET","requestID":"f058b810-0fec-11f0-b95a-67cf87457f46","responseTime":20,"status":200,"url":"/devices/21ff766c-e780-4237-90db-bfd09fdc72f6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f054e780-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53a1a302-29f1-418a-abbb-0b1b7917405a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.7739143} device-1 | {"level":"info","message":"GET /devices/626f0014-d223-4d8d-82fb-55fdb03e811e? 200 46ms","method":"GET","requestID":"f054e780-0fec-11f0-b95a-67cf87457f46","responseTime":46,"status":200,"url":"/devices/626f0014-d223-4d8d-82fb-55fdb03e811e?"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.840913,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f05b2910-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f05b2910-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f05c3a80-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8fd183a2-866c-439b-ab9a-910fe6527361#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8fd183a2-866c-439b-ab9a-910fe6527361","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"5660dc05-4ffa-42ea-b8e5-7732cef86965","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.802015} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ccdc07b-c5c8-46e1-959b-b2d428003523","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.8024166} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f05b2910-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/21ff766c-e780-4237-90db-bfd09fdc72f6/signaling 200 35ms","method":"POST","requestID":"f05b2910-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/21ff766c-e780-4237-90db-bfd09fdc72f6/signaling"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"22f5a65a2c44bae50c721d00c13fc4ed","responseTime":45,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e1f96df-ec3f-4458-a01c-95b193fb566d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.8060067} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.243463,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f05c3a80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","object_type":"device","rebac_allow":false,"scope_allow":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":"f05c3a80-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f05c3a80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/626f0014-d223-4d8d-82fb-55fdb03e811e/signaling 200 35ms","method":"POST","requestID":"f05c3a80-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/626f0014-d223-4d8d-82fb-55fdb03e811e/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f06206e0-0fec-11f0-b95a-67cf87457f46"} gateway-1 | {"time_local":"02/Apr/2025:18:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.251","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} experiment-1 | {"level":"info","message":"POST /experiments? 201 247ms","method":"POST","requestID":"22f5a65a2c44bae50c721d00c13fc4ed","responseTime":247,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k","level":"info","message":"auth send jwt","requestID":"35189f72e601f8ddbab7e141b8d59ab7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"35189f72e601f8ddbab7e141b8d59ab7","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94a934ca-03a1-443d-a055-d438ee09c173","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.8184795} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.774452,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"35189f72e601f8ddbab7e141b8d59ab7"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f06206e0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f06206e0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.808569,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f06206e0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/21ff766c-e780-4237-90db-bfd09fdc72f6/signaling 200 9ms","method":"POST","requestID":"f06206e0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/21ff766c-e780-4237-90db-bfd09fdc72f6/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"35189f72e601f8ddbab7e141b8d59ab7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617076,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"35189f72e601f8ddbab7e141b8d59ab7","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Building connection plan","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} 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":"884f8d38-fd69-4482-b12b-6e1fff7acd3f"},{"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":"29b6ed41-7254-45c2-b65a-b7605b00dd21"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0e2005c1-0246-4395-8c71-00f3501c1417"}]},"level":"info","message":"Built pairwise service configurations","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} 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/626f0014-d223-4d8d-82fb-55fdb03e811e"},{"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/21ff766c-e780-4237-90db-bfd09fdc72f6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f0678520-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:33.839676672Z"}]},"request_id":"ee189e79-ed0e-471f-a4d5-eeff79359156","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.8514318} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"35189f72e601f8ddbab7e141b8d59ab7","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.672953,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f0678520-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617076,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"35189f72e601f8ddbab7e141b8d59ab7"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f0678520-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:18:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/626f0014-d223-4d8d-82fb-55fdb03e811e? 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":"35189f72e601f8ddbab7e141b8d59ab7"} device-1 | {"level":"info","message":"GET /devices/626f0014-d223-4d8d-82fb-55fdb03e811e? 200 36ms","method":"GET","requestID":"35189f72e601f8ddbab7e141b8d59ab7","responseTime":36,"status":200,"url":"/devices/626f0014-d223-4d8d-82fb-55fdb03e811e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k","level":"info","message":"auth send jwt","requestID":"a164a45b8d3a08c6748ce8d1a68dabf1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a164a45b8d3a08c6748ce8d1a68dabf1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a164a45b8d3a08c6748ce8d1a68dabf1"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"e5c49237-6d58-418c-8f68-215fa3eb8261","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.861905} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c10f9daa-151e-4a66-81df-624ca3f186b9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.8620608} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895947,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"f0678520-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"a164a45b8d3a08c6748ce8d1a68dabf1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617076,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3Nn0.gE9JVmLuR82vthruL_jkGXUDxTWfsddo_Rrsvo9XI1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a164a45b8d3a08c6748ce8d1a68dabf1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:33.976956856Z"}]},"request_id":"9c4200be-1f17-48be-b380-77be69d8d174","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.8676999} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a164a45b8d3a08c6748ce8d1a68dabf1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f0678520-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f0678520-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a'","requestID":"f0678520-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a'","requestID":"f0678520-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f0678520-0fec-11f0-b95a-67cf87457f46"} 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":"f0678520-0fec-11f0-b95a-67cf87457f46","responseTime":57,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a164a45b8d3a08c6748ce8d1a68dabf1"} gateway-1 | {"time_local":"02/Apr/2025:18:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/21ff766c-e780-4237-90db-bfd09fdc72f6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a164a45b8d3a08c6748ce8d1a68dabf1"} device-1 | {"level":"info","message":"GET /devices/21ff766c-e780-4237-90db-bfd09fdc72f6? 200 48ms","method":"GET","requestID":"a164a45b8d3a08c6748ce8d1a68dabf1","responseTime":48,"status":200,"url":"/devices/21ff766c-e780-4237-90db-bfd09fdc72f6?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"f0678520-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a","device":"21ff766c-e780-4237-90db-bfd09fdc72f6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a","device":"626f0014-d223-4d8d-82fb-55fdb03e811e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"22f5a65a2c44bae50c721d00c13fc4ed"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f078c330-0fec-11f0-b95a-67cf87457f46"} device-1 | {"device":"21ff766c-e780-4237-90db-bfd09fdc72f6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"21ff766c-e780-4237-90db-bfd09fdc72f6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:36Z"} device-1 | {"device":"626f0014-d223-4d8d-82fb-55fdb03e811e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"626f0014-d223-4d8d-82fb-55fdb03e811e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99e6273b-d5a5-4283-8db6-1aa1f571ad6f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617076.9685109} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.686554,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f078c330-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","object_type":"device","rebac_allow":false,"scope_allow":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":"f078c330-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 458233959341273632 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:YDD9\r\na=ice-pwd:phTK+PyQ6R4h6RGoIdT6FB1D\r\na=ice-options:trickle\r\na=fingerprint:sha-256 29:F0:B6:3C:19:FC:79:D8:84:FD:64:A0:E6:35:A8:D0:69:77:E9:96:D9:F6:38:28:48:9E:0F:E5:FC:1A:82:FE\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"21ff766c-e780-4237-90db-bfd09fdc72f6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f078c330-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/626f0014-d223-4d8d-82fb-55fdb03e811e/signaling 200 39ms","method":"POST","requestID":"f078c330-0fec-11f0-b95a-67cf87457f46","responseTime":39,"status":200,"url":"/devices/626f0014-d223-4d8d-82fb-55fdb03e811e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f07f04c0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:37Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 6972617986487083115 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:OUeG\r\na=ice-pwd:x8eEfhIkCcbqxb6hexoZvH2A\r\na=ice-options:trickle\r\na=fingerprint:sha-256 EE:EF:08:B7:87:16:A5:A6:9F:18:E3:84:AB:42:05:4C:77:16:6A:ED:A1:F2:D9:A9:7D:0A:A8:6A:43:35:93:F0\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"626f0014-d223-4d8d-82fb-55fdb03e811e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85f1a77a-5dd7-4e56-b7d2-70289ed80d9c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.0092175} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.874893,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:37Z"} device-1 | {"content":{"candidate":"candidate:2072712725 1 udp 2113937151 8b412b49-5eb9-4a8b-97d5-ebc069fae693.local 58510 typ host generation 0 ufrag OUeG network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"626f0014-d223-4d8d-82fb-55fdb03e811e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f07f04c0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f07f04c0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f07f04c0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/21ff766c-e780-4237-90db-bfd09fdc72f6/signaling 200 10ms","method":"POST","requestID":"f07f04c0-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/21ff766c-e780-4237-90db-bfd09fdc72f6/signaling"} device-1 | {"content":{"candidate":"candidate:2085673664 1 udp 2113937151 72593190-a76d-4ba8-b057-13df458a2f5f.local 56224 typ host generation 0 ufrag YDD9 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"21ff766c-e780-4237-90db-bfd09fdc72f6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"21ff766c-e780-4237-90db-bfd09fdc72f6","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/2a56b94b-dfb4-4870-a86c-b6db3a52023a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2a56b94b-dfb4-4870-a86c-b6db3a52023a","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"626f0014-d223-4d8d-82fb-55fdb03e811e","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":"c1c28982106ca799d50f04786c9aa31d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c1c28982106ca799d50f04786c9aa31d","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/626f0014-d223-4d8d-82fb-55fdb03e811e"},{"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/21ff766c-e780-4237-90db-bfd09fdc72f6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a"}}},"level":"info","message":"received a callback","requestID":"c1c28982106ca799d50f04786c9aa31d"} device-1 | {"device":"21ff766c-e780-4237-90db-bfd09fdc72f6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"626f0014-d223-4d8d-82fb-55fdb03e811e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"c1c28982106ca799d50f04786c9aa31d","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"c1c28982106ca799d50f04786c9aa31d"} device-1 | {"device":"21ff766c-e780-4237-90db-bfd09fdc72f6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"626f0014-d223-4d8d-82fb-55fdb03e811e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"2a56b94b-dfb4-4870-a86c-b6db3a52023a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"626f0014-d223-4d8d-82fb-55fdb03e811e","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"2a56b94b-dfb4-4870-a86c-b6db3a52023a","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/2a56b94b-dfb4-4870-a86c-b6db3a52023a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2a56b94b-dfb4-4870-a86c-b6db3a52023a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dacb84db348be8e890942cea00f2e1ec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dacb84db348be8e890942cea00f2e1ec","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/626f0014-d223-4d8d-82fb-55fdb03e811e"},{"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/21ff766c-e780-4237-90db-bfd09fdc72f6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a"}}},"level":"info","message":"received a callback","requestID":"dacb84db348be8e890942cea00f2e1ec"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f0935010-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2a56b94b-dfb4-4870-a86c-b6db3a52023a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5b3b4b0-7390-4fec-960c-02ff11f54bde","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.1418712} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.409441,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f0935010-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a","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":"f0935010-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f0935010-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a 200 9ms","method":"GET","requestID":"f0935010-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"dacb84db348be8e890942cea00f2e1ec","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch","requestID":"dacb84db348be8e890942cea00f2e1ec"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f09747b0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ffdad7ae-ebab-4db2-ab73-0b77fde6e75b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.1884816} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.858017,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f09747b0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","object_type":"device","rebac_allow":false,"scope_allow":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":"f09747b0-0fec-11f0-b95a-67cf87457f46","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f09747b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/626f0014-d223-4d8d-82fb-55fdb03e811e/signaling 200 29ms","method":"POST","requestID":"f09747b0-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/devices/626f0014-d223-4d8d-82fb-55fdb03e811e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f09c02a0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd1d2275-7757-4f4f-aa3c-8b9ee0274ac3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.1977823} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.155045,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f09c02a0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","object_type":"device","rebac_allow":false,"scope_allow":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":"f09c02a0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f09c02a0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/21ff766c-e780-4237-90db-bfd09fdc72f6/signaling 200 7ms","method":"POST","requestID":"f09c02a0-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/devices/21ff766c-e780-4237-90db-bfd09fdc72f6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3N30.-gkmnt6NIITg8wproVCJdNgyn_chqlR3SHNGAa9eWpQ","level":"info","message":"auth send jwt","requestID":"b1df76d2ae7066dd4d96a58d58bc8d69"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b1df76d2ae7066dd4d96a58d58bc8d69","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8fd183a2-866c-439b-ab9a-910fe6527361","requestID":"b1df76d2ae7066dd4d96a58d58bc8d69"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.721685,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"b1df76d2ae7066dd4d96a58d58bc8d69","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617077,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3N30.-gkmnt6NIITg8wproVCJdNgyn_chqlR3SHNGAa9eWpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b1df76d2ae7066dd4d96a58d58bc8d69","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8fd183a2-866c-439b-ab9a-910fe6527361","requestID":"b1df76d2ae7066dd4d96a58d58bc8d69"} gateway-1 | {"time_local":"02/Apr/2025:18:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8fd183a2-866c-439b-ab9a-910fe6527361 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1df76d2ae7066dd4d96a58d58bc8d69"} experiment-1 | {"level":"info","message":"GET /experiments/8fd183a2-866c-439b-ab9a-910fe6527361 200 32ms","method":"GET","requestID":"b1df76d2ae7066dd4d96a58d58bc8d69","responseTime":32,"status":200,"url":"/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3N30.-gkmnt6NIITg8wproVCJdNgyn_chqlR3SHNGAa9eWpQ","level":"info","message":"auth send jwt","requestID":"afa5d609efc6a2d93eb7fe0598deacf0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"afa5d609efc6a2d93eb7fe0598deacf0","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8fd183a2-866c-439b-ab9a-910fe6527361","requestID":"afa5d609efc6a2d93eb7fe0598deacf0"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.689515,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"afa5d609efc6a2d93eb7fe0598deacf0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617077,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3N30.-gkmnt6NIITg8wproVCJdNgyn_chqlR3SHNGAa9eWpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"afa5d609efc6a2d93eb7fe0598deacf0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Attempting to finish experiment","requestID":"afa5d609efc6a2d93eb7fe0598deacf0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f0a46710-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.441893,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f0a46710-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617077,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3N30.-gkmnt6NIITg8wproVCJdNgyn_chqlR3SHNGAa9eWpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f0a46710-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a","device":"626f0014-d223-4d8d-82fb-55fdb03e811e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a","device":"21ff766c-e780-4237-90db-bfd09fdc72f6","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/2a56b94b-dfb4-4870-a86c-b6db3a52023a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2a56b94b-dfb4-4870-a86c-b6db3a52023a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2a56b94b-dfb4-4870-a86c-b6db3a52023a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2a56b94b-dfb4-4870-a86c-b6db3a52023a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"7a135edc-3ac8-4419-bf40-bfcf426fcdaa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.2875335} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8423fe5-cf2e-4a6f-ac27-2512162a38e8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.2877944} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f089b76acf6aa2c6b3bcb9db8f9d176a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"f0a46710-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f089b76acf6aa2c6b3bcb9db8f9d176a","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ccfa72284f36191edfc15119f43fe3e9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/626f0014-d223-4d8d-82fb-55fdb03e811e"},{"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/21ff766c-e780-4237-90db-bfd09fdc72f6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a"}}},"level":"info","message":"received a callback","requestID":"f089b76acf6aa2c6b3bcb9db8f9d176a"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"ccfa72284f36191edfc15119f43fe3e9","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/626f0014-d223-4d8d-82fb-55fdb03e811e"},{"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/21ff766c-e780-4237-90db-bfd09fdc72f6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a"}}},"level":"info","message":"received a callback","requestID":"ccfa72284f36191edfc15119f43fe3e9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f0a46710-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a 204 85ms","method":"DELETE","requestID":"f0a46710-0fec-11f0-b95a-67cf87457f46","responseTime":85,"status":204,"url":"/peerconnections/2a56b94b-dfb4-4870-a86c-b6db3a52023a"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"},"level":"info","message":"Successfully finished experiment","requestID":"afa5d609efc6a2d93eb7fe0598deacf0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f0b3d060-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F626f0014-d223-4d8d-82fb-55fdb03e811e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a237c01-0dc1-4a19-928e-892259d0b513","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.3550088} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.599319,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f0b3d060-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e","object_type":"device","rebac_allow":false,"scope_allow":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":"f0b3d060-0fec-11f0-b95a-67cf87457f46","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f0b3d060-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/626f0014-d223-4d8d-82fb-55fdb03e811e/signaling 200 32ms","method":"POST","requestID":"f0b3d060-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/devices/626f0014-d223-4d8d-82fb-55fdb03e811e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f0b8d970-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21ff766c-e780-4237-90db-bfd09fdc72f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8bf5cc2-bee3-4b0e-aec1-8412fbeff3b3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.3876004} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.227824,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f0b8d970-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/21ff766c-e780-4237-90db-bfd09fdc72f6","object_type":"device","rebac_allow":false,"scope_allow":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":"f0b8d970-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8fd183a2-866c-439b-ab9a-910fe6527361': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8fd183a2-866c-439b-ab9a-910fe6527361","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"682b08e4-1d0b-4f75-929e-25f05b8b64c8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.3885338} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"856c009c-9993-4658-adf4-c62a1e1d9ee5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.3888574} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"afa5d609efc6a2d93eb7fe0598deacf0","responseTime":41,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f0b8d970-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/21ff766c-e780-4237-90db-bfd09fdc72f6/signaling 200 8ms","method":"POST","requestID":"f0b8d970-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/21ff766c-e780-4237-90db-bfd09fdc72f6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8fd183a2-866c-439b-ab9a-910fe6527361","requestID":"afa5d609efc6a2d93eb7fe0598deacf0"} gateway-1 | {"time_local":"02/Apr/2025:18:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8fd183a2-866c-439b-ab9a-910fe6527361 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.263","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"afa5d609efc6a2d93eb7fe0598deacf0"} gateway-1 | {"time_local":"02/Apr/2025:18:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.236","http_referrer":"","http_user_agent":"node-fetch","requestID":"f089b76acf6aa2c6b3bcb9db8f9d176a"} experiment-1 | {"level":"info","message":"DELETE /experiments/8fd183a2-866c-439b-ab9a-910fe6527361 204 282ms","method":"DELETE","requestID":"afa5d609efc6a2d93eb7fe0598deacf0","responseTime":282,"status":204,"url":"/experiments/8fd183a2-866c-439b-ab9a-910fe6527361"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 233ms","method":"POST","requestID":"f089b76acf6aa2c6b3bcb9db8f9d176a","responseTime":233,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 234ms","method":"POST","requestID":"ccfa72284f36191edfc15119f43fe3e9","responseTime":234,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.237","http_referrer":"","http_user_agent":"node-fetch","requestID":"ccfa72284f36191edfc15119f43fe3e9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3N30.-gkmnt6NIITg8wproVCJdNgyn_chqlR3SHNGAa9eWpQ","level":"info","message":"auth send jwt","requestID":"9f1ee4125272a9e8bd383001bad1d77e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9f1ee4125272a9e8bd383001bad1d77e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9f1ee4125272a9e8bd383001bad1d77e"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:37Z"} gateway-1 | {"time_local":"02/Apr/2025:18:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"1.062","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1d69ab487439b077fbac334c7b1e26f6"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.963342,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:37Z"} gateway-1 | {"time_local":"02/Apr/2025:18:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2541","request_time":"1.099","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1b72940e22a4a2e7cc454c4894a4476a"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"9f1ee4125272a9e8bd383001bad1d77e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617077,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3N30.-gkmnt6NIITg8wproVCJdNgyn_chqlR3SHNGAa9eWpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9f1ee4125272a9e8bd383001bad1d77e","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/21ff766c-e780-4237-90db-bfd09fdc72f6' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/626f0014-d223-4d8d-82fb-55fdb03e811e' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7d483c09-1381-4eb7-b82e-03583cc7cf2b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.5770226} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9f1ee4125272a9e8bd383001bad1d77e","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3f38b5b-b70a-403e-9cac-6fa02a9d467d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.581} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9f1ee4125272a9e8bd383001bad1d77e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"8bff3f2c-2596-4973-9332-62aab6c1c828","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.590749} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42684efe-0b97-426a-a697-949f101fde7d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.5908704} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"9f1ee4125272a9e8bd383001bad1d77e","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:37.590724730Z"}]},"request_id":"63dd5c4f-c578-422e-b5c8-cb7cec993e5a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.5946388} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9f1ee4125272a9e8bd383001bad1d77e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9f1ee4125272a9e8bd383001bad1d77e"} device-1 | {"level":"info","message":"POST /devices? 201 67ms","method":"POST","requestID":"9f1ee4125272a9e8bd383001bad1d77e","responseTime":67,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f1ee4125272a9e8bd383001bad1d77e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3N30.-gkmnt6NIITg8wproVCJdNgyn_chqlR3SHNGAa9eWpQ","level":"info","message":"auth send jwt","requestID":"88b0bcaed8942fb4beb79e9f1cd777b2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"88b0bcaed8942fb4beb79e9f1cd777b2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"88b0bcaed8942fb4beb79e9f1cd777b2"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.744696,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"88b0bcaed8942fb4beb79e9f1cd777b2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617077,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA3N30.-gkmnt6NIITg8wproVCJdNgyn_chqlR3SHNGAa9eWpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"88b0bcaed8942fb4beb79e9f1cd777b2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ae078a9e-3362-4d89-941e-3aaf427753e5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.6656952} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"88b0bcaed8942fb4beb79e9f1cd777b2","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35a88eb4-17ae-4eb4-a72a-3dfdd3374ad5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.669445} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"88b0bcaed8942fb4beb79e9f1cd777b2","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"6925aa45-49fc-4198-96f3-36a0c3b45e5c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.6812665} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95469f58-3458-4561-8b78-855f23bd95f1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.6816144} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"88b0bcaed8942fb4beb79e9f1cd777b2","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:37.681243449Z"}]},"request_id":"cb86753c-cd58-4d2e-af49-f3d8d93b393e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617077.6850402} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"88b0bcaed8942fb4beb79e9f1cd777b2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"88b0bcaed8942fb4beb79e9f1cd777b2"} gateway-1 | {"time_local":"02/Apr/2025:18:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88b0bcaed8942fb4beb79e9f1cd777b2"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"88b0bcaed8942fb4beb79e9f1cd777b2","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0b9ef64325ea3f8f8ad39efc34e57062","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0b9ef64325ea3f8f8ad39efc34e57062","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/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":"0b9ef64325ea3f8f8ad39efc34e57062"} device-1 | {"level":"info","message":"OPTIONS /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/websocket 200 1ms","method":"OPTIONS","requestID":"0b9ef64325ea3f8f8ad39efc34e57062","responseTime":1,"status":200,"url":"/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk","level":"info","message":"auth send jwt","requestID":"887ba169e084f765bdd4bb54b9d29a7a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"887ba169e084f765bdd4bb54b9d29a7a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"887ba169e084f765bdd4bb54b9d29a7a"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645951,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"887ba169e084f765bdd4bb54b9d29a7a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617080,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"887ba169e084f765bdd4bb54b9d29a7a","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"887ba169e084f765bdd4bb54b9d29a7a"} gateway-1 | {"time_local":"02/Apr/2025:18:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/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":"887ba169e084f765bdd4bb54b9d29a7a"} device-1 | {"level":"info","message":"POST /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/websocket 200 38ms","method":"POST","requestID":"887ba169e084f765bdd4bb54b9d29a7a","responseTime":38,"status":200,"url":"/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2aa2ae04c6fe68465a66fd742b6e0a77","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2aa2ae04c6fe68465a66fd742b6e0a77","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/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":"2aa2ae04c6fe68465a66fd742b6e0a77"} device-1 | {"level":"info","message":"OPTIONS /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/websocket 200 1ms","method":"OPTIONS","requestID":"2aa2ae04c6fe68465a66fd742b6e0a77","responseTime":1,"status":200,"url":"/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk","level":"info","message":"auth send jwt","requestID":"42f00a5a1846c781b6670ef6d815e286"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"42f00a5a1846c781b6670ef6d815e286","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"42f00a5a1846c781b6670ef6d815e286"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67307,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} device-1 | {"level":"info","message":"device 'http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524' connected"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"42f00a5a1846c781b6670ef6d815e286","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617080,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"42f00a5a1846c781b6670ef6d815e286","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"42f00a5a1846c781b6670ef6d815e286"} device-1 | {"level":"info","message":"POST /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/websocket 200 13ms","method":"POST","requestID":"42f00a5a1846c781b6670ef6d815e286","responseTime":13,"status":200,"url":"/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"42f00a5a1846c781b6670ef6d815e286"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk","level":"info","message":"auth send jwt","requestID":"4bde0ad4ae1324e0a3a5591bd3fbeb33"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4bde0ad4ae1324e0a3a5591bd3fbeb33","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4bde0ad4ae1324e0a3a5591bd3fbeb33"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712183,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4bde0ad4ae1324e0a3a5591bd3fbeb33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617080,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"4bde0ad4ae1324e0a3a5591bd3fbeb33","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:37.590724730Z"}]},"request_id":"93b9d9ec-b213-4656-8d83-547d23fa1fee","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.1669862} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4bde0ad4ae1324e0a3a5591bd3fbeb33","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4bde0ad4ae1324e0a3a5591bd3fbeb33"} device-1 | {"level":"info","message":"GET /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524? 200 11ms","method":"GET","requestID":"4bde0ad4ae1324e0a3a5591bd3fbeb33","responseTime":11,"status":200,"url":"/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524? 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":"4bde0ad4ae1324e0a3a5591bd3fbeb33"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk","level":"info","message":"auth send jwt","requestID":"bbfc3db9d2b261e889d159912fd1c2aa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bbfc3db9d2b261e889d159912fd1c2aa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bbfc3db9d2b261e889d159912fd1c2aa"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7011,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"bbfc3db9d2b261e889d159912fd1c2aa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617080,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"bbfc3db9d2b261e889d159912fd1c2aa","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:37.681243449Z"}]},"request_id":"10256377-b6a4-4d96-baac-f8c6a3712278","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.183224} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bbfc3db9d2b261e889d159912fd1c2aa","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bbfc3db9d2b261e889d159912fd1c2aa"} gateway-1 | {"time_local":"02/Apr/2025:18:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981? 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":"bbfc3db9d2b261e889d159912fd1c2aa"} device-1 | {"level":"info","message":"GET /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981? 200 35ms","method":"GET","requestID":"bbfc3db9d2b261e889d159912fd1c2aa","responseTime":35,"status":200,"url":"/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk","level":"info","message":"auth send jwt","requestID":"760f1bee367b4682a8d942b5a0a11044"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"760f1bee367b4682a8d942b5a0a11044","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"760f1bee367b4682a8d942b5a0a11044"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.855719,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"760f1bee367b4682a8d942b5a0a11044","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617080,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"760f1bee367b4682a8d942b5a0a11044","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Attempting to run experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Attempting to book experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Successfully booked experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f271fb20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f2722230-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.054735,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f271fb20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617080,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f271fb20-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.815558,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f2722230-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617080,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f2722230-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:37.590724730Z"}]},"request_id":"7a707eee-47a6-4c0c-8d2d-78af4ba3ba74","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.3110726} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f271fb20-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:37.681243449Z"}]},"request_id":"7136d360-8b94-4220-91a5-446a7e2b4c36","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.3129234} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f2722230-0fec-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f271fb20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524? 200 42ms","method":"GET","requestID":"f271fb20-0fec-11f0-b95a-67cf87457f46","responseTime":42,"status":200,"url":"/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f2722230-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981? 200 42ms","method":"GET","requestID":"f2722230-0fec-11f0-b95a-67cf87457f46","responseTime":42,"status":200,"url":"/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Setting up experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Successfully locked booking for experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Attempting to update booking for experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Successfully updated booking for experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Successfully set up experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f287a600-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f287cd10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f287f420-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Successfully running experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:44622","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.018722,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f287a600-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617080,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f287a600-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.572241,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f287cd10-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617080,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f287cd10-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:37.590724730Z"}]},"request_id":"940e8e49-fc64-4f16-acb6-852ec5627b74","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.4267063} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f287a600-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:37.681243449Z"}]},"request_id":"b2131928-0ff0-467d-8714-286c604f2f6f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.4274821} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"f287cd10-0fec-11f0-b95a-67cf87457f46","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f287a600-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524? 200 40ms","method":"GET","requestID":"f287a600-0fec-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f287cd10-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981? 200 40ms","method":"GET","requestID":"f287cd10-0fec-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0351d64e-56cf-47e4-90ab-d13c8e5c2fc6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.4538307} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c5f9b3f-3ea1-4103-9a00-e7733ac57487#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c5f9b3f-3ea1-4103-9a00-e7733ac57487","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"02136cdc-e407-470a-93cc-c34026c86e84","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.4554832} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"add747f9-6703-4a73-bb43-e2417271cc85","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.4556396} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.212378,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f287f420-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","method":"POST","requestID":"f287f420-0fec-11f0-b95a-67cf87457f46","responseTime":39,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f28e35b0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"760f1bee367b4682a8d942b5a0a11044","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f287f420-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/signaling 200 44ms","method":"POST","requestID":"f287f420-0fec-11f0-b95a-67cf87457f46","responseTime":44,"status":200,"url":"/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8aed9d6a-cfaf-44bb-a492-b390bd8ebcac","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.4641824} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.229213,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f28f2010-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f28e35b0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f28e35b0-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"760f1bee367b4682a8d942b5a0a11044"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f28e35b0-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"level":"info","message":"POST /experiments? 201 253ms","method":"POST","requestID":"760f1bee367b4682a8d942b5a0a11044","responseTime":253,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.256","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"760f1bee367b4682a8d942b5a0a11044"} device-1 | {"level":"info","message":"POST /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/signaling 200 10ms","method":"POST","requestID":"f28e35b0-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fdb9ebab-2ba2-4109-805d-0c60720ccf97","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.4703631} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.39377,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f28f2010-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","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":"f2900a70-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f28f2010-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f28f2010-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/signaling 200 34ms","method":"POST","requestID":"f28f2010-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82351909-ff2d-47e4-b0f1-97be655678a0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.500059} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.856115,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk","level":"info","message":"auth send jwt","requestID":"62830307ed9e2bb83070a0bc0acf62e9"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"62830307ed9e2bb83070a0bc0acf62e9","responseTime":31,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f2900a70-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","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":"62830307ed9e2bb83070a0bc0acf62e9"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f2900a70-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f2900a70-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679539,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} device-1 | {"level":"info","message":"POST /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/signaling 200 33ms","method":"POST","requestID":"f2900a70-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"62830307ed9e2bb83070a0bc0acf62e9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617080,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"62830307ed9e2bb83070a0bc0acf62e9","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Building connection plan","requestID":"760f1bee367b4682a8d942b5a0a11044"} 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":"4ce1a166-0f92-4d1e-be39-e99f62a531a8"},{"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":"06bef122-d6ce-43ff-a638-cb4e3283165f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"85b4dcf9-0c44-490c-8bb1-ee0450756677"}]},"level":"info","message":"Built pairwise service configurations","requestID":"760f1bee367b4682a8d942b5a0a11044"} 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/58e8bbb1-13a6-44e0-ad41-2fa89e50e524"},{"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/2a2d85ce-fbf2-4096-ac29-e988be22b981"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"760f1bee367b4682a8d942b5a0a11044"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f29588b0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:37.590724730Z"}]},"request_id":"dd66f7fe-f4c6-405e-bb40-a454ea422445","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.5093372} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"62830307ed9e2bb83070a0bc0acf62e9","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.934133,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f29588b0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617080,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f29588b0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"62830307ed9e2bb83070a0bc0acf62e9"} gateway-1 | {"time_local":"02/Apr/2025:18:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62830307ed9e2bb83070a0bc0acf62e9"} device-1 | {"level":"info","message":"GET /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524? 200 13ms","method":"GET","requestID":"62830307ed9e2bb83070a0bc0acf62e9","responseTime":13,"status":200,"url":"/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk","level":"info","message":"auth send jwt","requestID":"4899de900c3a9a99f58d395915817c9e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4899de900c3a9a99f58d395915817c9e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4899de900c3a9a99f58d395915817c9e"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"c263eb4b-8ae1-4997-9396-01d7bb66197d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.546682} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da682404-11ec-409b-9b00-ae47d3f0611c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.5468066} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"f29588b0-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.765838,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4899de900c3a9a99f58d395915817c9e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617080,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4899de900c3a9a99f58d395915817c9e","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:37.681243449Z"}]},"request_id":"74477b82-fb9c-4fed-a93b-a18ceb3c9b7d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.5540779} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4899de900c3a9a99f58d395915817c9e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f29588b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f29588b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013'","requestID":"f29588b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013'","requestID":"f29588b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f29588b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 94ms","method":"POST","requestID":"f29588b0-0fec-11f0-b95a-67cf87457f46","responseTime":94,"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":"4899de900c3a9a99f58d395915817c9e"} gateway-1 | {"time_local":"02/Apr/2025:18:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4899de900c3a9a99f58d395915817c9e"} device-1 | {"level":"info","message":"GET /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981? 200 83ms","method":"GET","requestID":"4899de900c3a9a99f58d395915817c9e","responseTime":83,"status":200,"url":"/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"f29588b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013","device":"58e8bbb1-13a6-44e0-ad41-2fa89e50e524","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/b8544102-6bc7-401a-8071-7e31367af013","device":"2a2d85ce-fbf2-4096-ac29-e988be22b981","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/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"760f1bee367b4682a8d942b5a0a11044"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f2ab81b0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7c4ff2a-53df-4018-b048-c009147286ed","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.6554346} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.408362,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f2ab81b0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f2ab81b0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f2ab81b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/signaling 200 9ms","method":"POST","requestID":"f2ab81b0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f2ad2f60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"device":"58e8bbb1-13a6-44e0-ad41-2fa89e50e524","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"58e8bbb1-13a6-44e0-ad41-2fa89e50e524","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dcd701a0-3291-4000-9d66-64ad4521769a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.6915452} device-1 | {"device":"2a2d85ce-fbf2-4096-ac29-e988be22b981","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"2a2d85ce-fbf2-4096-ac29-e988be22b981","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.804332,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f2ad2f60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","object_type":"device","rebac_allow":false,"scope_allow":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":"f2ad2f60-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f2ad2f60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/signaling 200 38ms","method":"POST","requestID":"f2ad2f60-0fec-11f0-b95a-67cf87457f46","responseTime":38,"status":200,"url":"/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8993261501775758487 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:62Qo\r\na=ice-pwd:v54APpMz9I4f6IIo7fjHK8y8\r\na=ice-options:trickle\r\na=fingerprint:sha-256 67:30:C7:19:1B:AD:DF:0A:39:63:BD:DE:EA:39:3F:AD:69:DA:71:0E:15:70:6D:4D:28:37:82:03:44:5C:D5:2C\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"2a2d85ce-fbf2-4096-ac29-e988be22b981","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 7807077183088184247 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:f0oD\r\na=ice-pwd:ExSyLSCrITtIEGu/5N9wwYqs\r\na=ice-options:trickle\r\na=fingerprint:sha-256 20:55:0D:47:56:DF:DB:1B:B1:E7:14:37:8C:8E:80:B4:D3:9E:D7:54:6C:95:A3:8F:A8:F0:B7:33:1F:39:97:D2\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"58e8bbb1-13a6-44e0-ad41-2fa89e50e524","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1095473111 1 udp 2113937151 01b72f12-3b93-4270-8b04-d0ad8dda1925.local 38429 typ host generation 0 ufrag f0oD network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"58e8bbb1-13a6-44e0-ad41-2fa89e50e524","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/58e8bbb1-13a6-44e0-ad41-2fa89e50e524'"} device-1 | {"content":{"candidate":"candidate:980361379 1 udp 2113937151 b1352bf0-7160-4677-980a-756e552078d2.local 34837 typ host generation 0 ufrag 62Qo network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"2a2d85ce-fbf2-4096-ac29-e988be22b981","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"2a2d85ce-fbf2-4096-ac29-e988be22b981","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"58e8bbb1-13a6-44e0-ad41-2fa89e50e524","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/b8544102-6bc7-401a-8071-7e31367af013' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b8544102-6bc7-401a-8071-7e31367af013","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2a2d85ce-fbf2-4096-ac29-e988be22b981","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"58e8bbb1-13a6-44e0-ad41-2fa89e50e524","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d1cc7a615b179af813ec0dfebb5a9bc2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d1cc7a615b179af813ec0dfebb5a9bc2","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"2a2d85ce-fbf2-4096-ac29-e988be22b981","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"58e8bbb1-13a6-44e0-ad41-2fa89e50e524","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524"},{"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/2a2d85ce-fbf2-4096-ac29-e988be22b981"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013"}}},"level":"info","message":"received a callback","requestID":"d1cc7a615b179af813ec0dfebb5a9bc2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"d1cc7a615b179af813ec0dfebb5a9bc2","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"d1cc7a615b179af813ec0dfebb5a9bc2"} device-1 | {"device":"58e8bbb1-13a6-44e0-ad41-2fa89e50e524","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"b8544102-6bc7-401a-8071-7e31367af013","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b8544102-6bc7-401a-8071-7e31367af013","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"32708067624b4a9b754762d58800c365","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b8544102-6bc7-401a-8071-7e31367af013","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"32708067624b4a9b754762d58800c365","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/58e8bbb1-13a6-44e0-ad41-2fa89e50e524"},{"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/2a2d85ce-fbf2-4096-ac29-e988be22b981"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013"}}},"level":"info","message":"received a callback","requestID":"32708067624b4a9b754762d58800c365"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f2c87f90-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb8544102-6bc7-401a-8071-7e31367af013","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"048e97c7-2fc8-444c-8329-cd5e19f3c74c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.8457983} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.58569,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f2c87f90-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013","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":"f2c87f90-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk","level":"info","message":"auth send jwt","requestID":"d299293e6dd81e7acb8b701a9ab589ea"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d299293e6dd81e7acb8b701a9ab589ea","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487","requestID":"d299293e6dd81e7acb8b701a9ab589ea"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.786794,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d299293e6dd81e7acb8b701a9ab589ea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617080,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MH0.N8f6zmtft1f8VDLY_2T6PyZt5dTWeWPDA9skyDXaRjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d299293e6dd81e7acb8b701a9ab589ea","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487","requestID":"d299293e6dd81e7acb8b701a9ab589ea"} gateway-1 | {"time_local":"02/Apr/2025:18:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487 HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d299293e6dd81e7acb8b701a9ab589ea"} experiment-1 | {"level":"info","message":"GET /experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487 200 10ms","method":"GET","requestID":"d299293e6dd81e7acb8b701a9ab589ea","responseTime":10,"status":200,"url":"/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f2c87f90-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/b8544102-6bc7-401a-8071-7e31367af013 200 92ms","method":"GET","requestID":"f2c87f90-0fec-11f0-b95a-67cf87457f46","responseTime":92,"status":200,"url":"/peerconnections/b8544102-6bc7-401a-8071-7e31367af013"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 113ms","method":"POST","requestID":"32708067624b4a9b754762d58800c365","responseTime":113,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch","requestID":"32708067624b4a9b754762d58800c365"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f2d94870-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa9f6ace-2bf8-4093-b4b4-9a2e50652427","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.9813373} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.550012,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f2d94870-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f2d94870-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f2d94870-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/signaling 200 34ms","method":"POST","requestID":"f2d94870-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f2dec6b0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"59523b25-c92a-4e07-8a98-b1fdb3dcbb73","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617080.9907277} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.227631,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f2dec6b0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","object_type":"device","rebac_allow":false,"scope_allow":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":"f2dec6b0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f2dec6b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/signaling 200 7ms","method":"POST","requestID":"f2dec6b0-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MX0.RA4DPfpx8a0gGI_WdNMtV5YYt6ImO0B6TC3TqXprWDM","level":"info","message":"auth send jwt","requestID":"80ce21c6d666b6675a403350e023a5ab"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"80ce21c6d666b6675a403350e023a5ab","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487","requestID":"80ce21c6d666b6675a403350e023a5ab"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.678309,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"80ce21c6d666b6675a403350e023a5ab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617081,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MX0.RA4DPfpx8a0gGI_WdNMtV5YYt6ImO0B6TC3TqXprWDM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"80ce21c6d666b6675a403350e023a5ab","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487","requestID":"80ce21c6d666b6675a403350e023a5ab"} experiment-1 | {"level":"info","message":"GET /experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487 200 8ms","method":"GET","requestID":"80ce21c6d666b6675a403350e023a5ab","responseTime":8,"status":200,"url":"/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"} gateway-1 | {"time_local":"02/Apr/2025:18:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80ce21c6d666b6675a403350e023a5ab"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MX0.RA4DPfpx8a0gGI_WdNMtV5YYt6ImO0B6TC3TqXprWDM","level":"info","message":"auth send jwt","requestID":"5472158a9c910d74a3d69fbad120380e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5472158a9c910d74a3d69fbad120380e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487","requestID":"5472158a9c910d74a3d69fbad120380e"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.672102,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"5472158a9c910d74a3d69fbad120380e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617081,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MX0.RA4DPfpx8a0gGI_WdNMtV5YYt6ImO0B6TC3TqXprWDM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5472158a9c910d74a3d69fbad120380e","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Attempting to finish experiment","requestID":"5472158a9c910d74a3d69fbad120380e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f2ec3430-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.725641,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f2ec3430-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617081,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MX0.RA4DPfpx8a0gGI_WdNMtV5YYt6ImO0B6TC3TqXprWDM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f2ec3430-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013","device":"58e8bbb1-13a6-44e0-ad41-2fa89e50e524","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013","device":"2a2d85ce-fbf2-4096-ac29-e988be22b981","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/b8544102-6bc7-401a-8071-7e31367af013' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b8544102-6bc7-401a-8071-7e31367af013","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb8544102-6bc7-401a-8071-7e31367af013': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb8544102-6bc7-401a-8071-7e31367af013","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"0fbe65b9-f494-4275-9d89-7aea712b214b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.088637} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"539c30ec-27fb-4eb6-aae8-fb41c57b375b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.0889769} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dea5e068512b3261de2a776f12a00712","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dea5e068512b3261de2a776f12a00712","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a9d0f0af68894fcc6f934a9250bcb795","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"f2ec3430-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a9d0f0af68894fcc6f934a9250bcb795","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/58e8bbb1-13a6-44e0-ad41-2fa89e50e524"},{"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/2a2d85ce-fbf2-4096-ac29-e988be22b981"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013"}}},"level":"info","message":"received a callback","requestID":"dea5e068512b3261de2a776f12a00712"} 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/58e8bbb1-13a6-44e0-ad41-2fa89e50e524"},{"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/2a2d85ce-fbf2-4096-ac29-e988be22b981"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b8544102-6bc7-401a-8071-7e31367af013"}}},"level":"info","message":"received a callback","requestID":"a9d0f0af68894fcc6f934a9250bcb795"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f2ec3430-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/b8544102-6bc7-401a-8071-7e31367af013 204 19ms","method":"DELETE","requestID":"f2ec3430-0fec-11f0-b95a-67cf87457f46","responseTime":19,"status":204,"url":"/peerconnections/b8544102-6bc7-401a-8071-7e31367af013"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"},"level":"info","message":"Successfully finished experiment","requestID":"5472158a9c910d74a3d69fbad120380e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f2f5d120-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58e8bbb1-13a6-44e0-ad41-2fa89e50e524","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b12bc8d-aa72-4b81-8ed2-0bb5a379908c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.1422713} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.428919,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f2f5d120-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f2f5d120-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f2f5d120-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/signaling 200 33ms","method":"POST","requestID":"f2f5d120-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f2fb0140-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c5f9b3f-3ea1-4103-9a00-e7733ac57487': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c5f9b3f-3ea1-4103-9a00-e7733ac57487","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"d10ed00a-cd9c-4ca7-885f-3b44453ef112","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.1743667} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1314a97e-dd40-42d0-9972-b013646e0e3f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.1745236} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"5472158a9c910d74a3d69fbad120380e","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2d85ce-fbf2-4096-ac29-e988be22b981","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96e486ea-4de0-42da-8ec7-d1f223c16dd8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.1770089} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.751988,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f2fb0140-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f2fb0140-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f2fb0140-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/signaling 200 10ms","method":"POST","requestID":"f2fb0140-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/2a2d85ce-fbf2-4096-ac29-e988be22b981/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487","requestID":"5472158a9c910d74a3d69fbad120380e"} gateway-1 | {"time_local":"02/Apr/2025:18:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487 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":"5472158a9c910d74a3d69fbad120380e"} experiment-1 | {"level":"info","message":"DELETE /experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487 204 231ms","method":"DELETE","requestID":"5472158a9c910d74a3d69fbad120380e","responseTime":231,"status":204,"url":"/experiments/6c5f9b3f-3ea1-4103-9a00-e7733ac57487"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 185ms","method":"POST","requestID":"dea5e068512b3261de2a776f12a00712","responseTime":185,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 184ms","method":"POST","requestID":"a9d0f0af68894fcc6f934a9250bcb795","responseTime":184,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch","requestID":"dea5e068512b3261de2a776f12a00712"} gateway-1 | {"time_local":"02/Apr/2025:18:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch","requestID":"a9d0f0af68894fcc6f934a9250bcb795"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MX0.RA4DPfpx8a0gGI_WdNMtV5YYt6ImO0B6TC3TqXprWDM","level":"info","message":"auth send jwt","requestID":"78a7fcc152dec1244c2c14b0ff2e87c9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78a7fcc152dec1244c2c14b0ff2e87c9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"78a7fcc152dec1244c2c14b0ff2e87c9"} gateway-1 | {"time_local":"02/Apr/2025:18:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"1.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":"5500b5346b7f29a18bd3f85821138785"} gateway-1 | {"time_local":"02/Apr/2025:18:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2541","request_time":"1.211","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f3cd591fbd7e3715e8e7b2a5068daf52"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.880451,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"78a7fcc152dec1244c2c14b0ff2e87c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617081,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MX0.RA4DPfpx8a0gGI_WdNMtV5YYt6ImO0B6TC3TqXprWDM"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/58e8bbb1-13a6-44e0-ad41-2fa89e50e524' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"78a7fcc152dec1244c2c14b0ff2e87c9","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/2a2d85ce-fbf2-4096-ac29-e988be22b981' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b52528fc-2830-4414-81a6-5ad850cfab08","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.3273032} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"78a7fcc152dec1244c2c14b0ff2e87c9","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e5bd9c99-565f-40e6-8d63-4fa000aa7d75","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.3315513} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"78a7fcc152dec1244c2c14b0ff2e87c9","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"e814339b-c293-4d0e-947a-ab8e88259ffe","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.361832} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4676254-fd16-4da6-b1bd-577cb4d6f056","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.3620992} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"78a7fcc152dec1244c2c14b0ff2e87c9","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:41.361799851Z"}]},"request_id":"12fcba1c-ed86-49dc-a579-61c0cdb8d8b1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.366087} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"78a7fcc152dec1244c2c14b0ff2e87c9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"78a7fcc152dec1244c2c14b0ff2e87c9"} gateway-1 | {"time_local":"02/Apr/2025:18:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78a7fcc152dec1244c2c14b0ff2e87c9"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"78a7fcc152dec1244c2c14b0ff2e87c9","responseTime":90,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MX0.RA4DPfpx8a0gGI_WdNMtV5YYt6ImO0B6TC3TqXprWDM","level":"info","message":"auth send jwt","requestID":"80e9b41f12d54ba66e887b4584daaa22"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"80e9b41f12d54ba66e887b4584daaa22","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"80e9b41f12d54ba66e887b4584daaa22"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.658197,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"80e9b41f12d54ba66e887b4584daaa22","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617081,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4MX0.RA4DPfpx8a0gGI_WdNMtV5YYt6ImO0B6TC3TqXprWDM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"80e9b41f12d54ba66e887b4584daaa22","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7b461892-07e3-4ac8-9d99-7369f3626228","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.4159617} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"80e9b41f12d54ba66e887b4584daaa22","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7139edb-b823-449f-b753-2d40d557c613","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.4193938} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"80e9b41f12d54ba66e887b4584daaa22","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"f0b50ce0-c626-4439-a022-0b6186172e19","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.4296527} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7aee305-f590-473d-a0db-af6ee1329f91","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.4298248} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"80e9b41f12d54ba66e887b4584daaa22","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:41.429631001Z"}]},"request_id":"47f17356-0957-46f1-a9c5-41458a315ac0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617081.4574866} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"80e9b41f12d54ba66e887b4584daaa22","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"80e9b41f12d54ba66e887b4584daaa22"} gateway-1 | {"time_local":"02/Apr/2025:18:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80e9b41f12d54ba66e887b4584daaa22"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"80e9b41f12d54ba66e887b4584daaa22","responseTime":87,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4Mn0.hAtNhNTNrp7em2yN0YYXBX--VqdsI2Dh81KK_pRBwUU","level":"info","message":"auth send jwt","requestID":"f2255f1db825a04ecaaba60dbbadeb33"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f2255f1db825a04ecaaba60dbbadeb33","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f2255f1db825a04ecaaba60dbbadeb33"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:42Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761008,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f2255f1db825a04ecaaba60dbbadeb33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617082,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4Mn0.hAtNhNTNrp7em2yN0YYXBX--VqdsI2Dh81KK_pRBwUU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f2255f1db825a04ecaaba60dbbadeb33","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:41.429631001Z"}]},"request_id":"fa6af576-a9b5-4ab1-b446-c93b0f7938ee","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617082.5217261} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f2255f1db825a04ecaaba60dbbadeb33","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"afeb4be1-3420-40b7-88cc-5355c3532a29","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617082.5274715} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f2255f1db825a04ecaaba60dbbadeb33","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:41.429631001Z"}]},"request_id":"c6293536-37cf-4f2d-8520-d2050cc057dc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617082.8063185} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f2255f1db825a04ecaaba60dbbadeb33","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f2255f1db825a04ecaaba60dbbadeb33"} gateway-1 | {"time_local":"02/Apr/2025:18:04:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.325","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"f2255f1db825a04ecaaba60dbbadeb33"} device-1 | {"level":"info","message":"PATCH /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11 200 321ms","method":"PATCH","requestID":"f2255f1db825a04ecaaba60dbbadeb33","responseTime":321,"status":200,"url":"/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4Mn0.hAtNhNTNrp7em2yN0YYXBX--VqdsI2Dh81KK_pRBwUU","level":"info","message":"auth send jwt","requestID":"81eb9ddf8ff3c51df8e43fdab554b058"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"81eb9ddf8ff3c51df8e43fdab554b058","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"81eb9ddf8ff3c51df8e43fdab554b058"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:42Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.966138,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"81eb9ddf8ff3c51df8e43fdab554b058","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617082,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4Mn0.hAtNhNTNrp7em2yN0YYXBX--VqdsI2Dh81KK_pRBwUU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"81eb9ddf8ff3c51df8e43fdab554b058","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"81eb9ddf8ff3c51df8e43fdab554b058"} gateway-1 | {"time_local":"02/Apr/2025:18:04:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.185","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"81eb9ddf8ff3c51df8e43fdab554b058"} device-1 | {"level":"info","message":"POST /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11/websocket 200 182ms","method":"POST","requestID":"81eb9ddf8ff3c51df8e43fdab554b058","responseTime":182,"status":200,"url":"/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"69ca6d59384686fd56d7ac789ef7a42f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"69ca6d59384686fd56d7ac789ef7a42f","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:04:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/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":"69ca6d59384686fd56d7ac789ef7a42f"} device-1 | {"level":"info","message":"OPTIONS /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/websocket 200 1ms","method":"OPTIONS","requestID":"69ca6d59384686fd56d7ac789ef7a42f","responseTime":1,"status":200,"url":"/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4M30.QEmDlPeBM2-NDNsS7fOr_yUSdQM1ZhvfQembpei5QbE","level":"info","message":"auth send jwt","requestID":"5c3e107581d03407aea02347611d30e7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5c3e107581d03407aea02347611d30e7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5c3e107581d03407aea02347611d30e7"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:43Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697992,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"5c3e107581d03407aea02347611d30e7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617083,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4M30.QEmDlPeBM2-NDNsS7fOr_yUSdQM1ZhvfQembpei5QbE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5c3e107581d03407aea02347611d30e7","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5c3e107581d03407aea02347611d30e7"} gateway-1 | {"time_local":"02/Apr/2025:18:04:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.190","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5c3e107581d03407aea02347611d30e7"} device-1 | {"level":"info","message":"POST /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/websocket 200 186ms","method":"POST","requestID":"5c3e107581d03407aea02347611d30e7","responseTime":186,"status":200,"url":"/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NH0.SmByuXHyO1CGgEi2Brwuq46yptN8tvOODgikoRdAoJo","level":"info","message":"auth send jwt","requestID":"025ebe0cad4f907b1e32c7b64190c5f8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"025ebe0cad4f907b1e32c7b64190c5f8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"025ebe0cad4f907b1e32c7b64190c5f8"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.736068,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"025ebe0cad4f907b1e32c7b64190c5f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617084,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NH0.SmByuXHyO1CGgEi2Brwuq46yptN8tvOODgikoRdAoJo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"025ebe0cad4f907b1e32c7b64190c5f8","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:41.361799851Z"}]},"request_id":"7f68e588-d52c-48b4-b469-d60ee84819ba","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617084.2126522} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"025ebe0cad4f907b1e32c7b64190c5f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"025ebe0cad4f907b1e32c7b64190c5f8"} gateway-1 | {"time_local":"02/Apr/2025:18:04:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0? 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":"025ebe0cad4f907b1e32c7b64190c5f8"} device-1 | {"level":"info","message":"GET /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0? 200 10ms","method":"GET","requestID":"025ebe0cad4f907b1e32c7b64190c5f8","responseTime":10,"status":200,"url":"/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NH0.SmByuXHyO1CGgEi2Brwuq46yptN8tvOODgikoRdAoJo","level":"info","message":"auth send jwt","requestID":"5ead13578db62dd719a0e7961cf6156c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5ead13578db62dd719a0e7961cf6156c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5ead13578db62dd719a0e7961cf6156c"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.016655,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"5ead13578db62dd719a0e7961cf6156c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617084,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NH0.SmByuXHyO1CGgEi2Brwuq46yptN8tvOODgikoRdAoJo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5ead13578db62dd719a0e7961cf6156c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:41.429631001Z"}]},"request_id":"918e3a6b-4e95-4d10-a8c8-2833962fba05","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617084.2521029} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5ead13578db62dd719a0e7961cf6156c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5ead13578db62dd719a0e7961cf6156c"} gateway-1 | {"time_local":"02/Apr/2025:18:04:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11? 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":"5ead13578db62dd719a0e7961cf6156c"} device-1 | {"level":"info","message":"GET /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11? 200 10ms","method":"GET","requestID":"5ead13578db62dd719a0e7961cf6156c","responseTime":10,"status":200,"url":"/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NH0.SmByuXHyO1CGgEi2Brwuq46yptN8tvOODgikoRdAoJo","level":"info","message":"auth send jwt","requestID":"955be7c15637d8d43be009e84b3a5c38"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"955be7c15637d8d43be009e84b3a5c38","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"955be7c15637d8d43be009e84b3a5c38"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.669806,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"955be7c15637d8d43be009e84b3a5c38","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617084,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NH0.SmByuXHyO1CGgEi2Brwuq46yptN8tvOODgikoRdAoJo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"955be7c15637d8d43be009e84b3a5c38","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Attempting to run experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Attempting to book experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Successfully booked experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f50c7c20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f50ca330-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.963496,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f50c7c20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617084,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NH0.SmByuXHyO1CGgEi2Brwuq46yptN8tvOODgikoRdAoJo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f50c7c20-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.758085,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f50ca330-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617084,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NH0.SmByuXHyO1CGgEi2Brwuq46yptN8tvOODgikoRdAoJo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f50ca330-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:41.429631001Z"}]},"request_id":"92ba6d3d-44d5-467a-b506-11cb8e2c14d1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617084.651219} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f50ca330-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:41.361799851Z"}]},"request_id":"1703fb9b-f7aa-4a09-bafb-5759ea43f3f3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617084.6520762} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f50c7c20-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f50ca330-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11? 200 12ms","method":"GET","requestID":"f50ca330-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f50c7c20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0? 200 14ms","method":"GET","requestID":"f50c7c20-0fec-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Setting up experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Successfully locked booking for experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Attempting to update booking for experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Successfully updated booking for experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Successfully set up experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f53d2910-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f53d5020-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f53d9e40-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Successfully running experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.974909,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f53d2910-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617084,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NH0.SmByuXHyO1CGgEi2Brwuq46yptN8tvOODgikoRdAoJo"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f53d2910-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60472","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.863911,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f53d5020-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617084,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NH0.SmByuXHyO1CGgEi2Brwuq46yptN8tvOODgikoRdAoJo"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f53d5020-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"572c2987-6be6-4ff5-a87d-c49ea476f0ae","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617084.973496} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.28369,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f53d9e40-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f53d9e40-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f53d9e40-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/signaling 200 15ms","method":"POST","requestID":"f53d9e40-0fec-11f0-b95a-67cf87457f46","responseTime":15,"status":200,"url":"/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:41.361799851Z"}]},"request_id":"f96d54cc-20e0-46d4-8e77-27e04008d823","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617084.9783206} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f53d2910-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:41.429631001Z"}]},"request_id":"84d71341-9456-4afe-8df1-9d657cd8e02f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617084.9799733} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f5405d60-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f53d5020-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"917a40b4-3b62-4615-b74b-f5fe4cf95700","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617085.011381} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.086737,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f5405d60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","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":"f53d2910-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"f5405d60-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0? 200 53ms","method":"GET","requestID":"f53d2910-0fec-11f0-b95a-67cf87457f46","responseTime":53,"status":200,"url":"/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f53d5020-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11? 200 52ms","method":"GET","requestID":"f53d5020-0fec-11f0-b95a-67cf87457f46","responseTime":52,"status":200,"url":"/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f5458d80-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f5405d60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11/signaling 200 37ms","method":"POST","requestID":"f5405d60-0fec-11f0-b95a-67cf87457f46","responseTime":37,"status":200,"url":"/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"295b3fb9-ff92-4562-80ea-f15a6699dfd3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617085.0211816} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.682085,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f5458d80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","object_type":"device","rebac_allow":false,"scope_allow":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":"f5458d80-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f5458d80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/signaling 200 9ms","method":"POST","requestID":"f5458d80-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f5473b30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3af64376-ff0a-4a76-b66e-3ae05020c23d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617085.0320585} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.889196,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f5473b30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"f5473b30-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f5473b30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11/signaling 200 38ms","method":"POST","requestID":"f5473b30-0fec-11f0-b95a-67cf87457f46","responseTime":38,"status":200,"url":"/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Building connection plan","requestID":"955be7c15637d8d43be009e84b3a5c38"} 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":"3785eb5e-f30f-4467-b318-95815a83f79c"},{"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":"5ab931da-cd07-48cc-8c0e-bfd6eec87d13"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d9c00b8f-ac3b-45b5-b327-177f6fa6781c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"955be7c15637d8d43be009e84b3a5c38"} 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/0dfbdb65-ce19-4589-883d-9c1df53177d0"},{"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/38c700a2-06f8-4467-95c7-d87cb9f33d11"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"955be7c15637d8d43be009e84b3a5c38"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f54d55b0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.996886,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f54d55b0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617084,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NH0.SmByuXHyO1CGgEi2Brwuq46yptN8tvOODgikoRdAoJo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f54d55b0-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F86fa013b-5c29-4b54-9996-ee8f41df10ff#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F86fa013b-5c29-4b54-9996-ee8f41df10ff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"e7d7766b-d9ef-4501-ad2f-97fff1784ae9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617085.111607} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c66f05c-040a-4af5-bda4-8c73d288c321","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617085.1118584} authorization-1 | {"level":"info","message":"POST /relations/update 200 143ms","method":"POST","requestID":"955be7c15637d8d43be009e84b3a5c38","responseTime":143,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"9e3019ff-7ffe-4627-b10b-c2c2c9109a2f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617085.1129138} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78cddf68-3670-45e4-bd41-9fbb90a8fa51","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617085.1131413} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"f54d55b0-0fec-11f0-b95a-67cf87457f46","responseTime":39,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"955be7c15637d8d43be009e84b3a5c38"} gateway-1 | {"time_local":"02/Apr/2025:18:04:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.864","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"955be7c15637d8d43be009e84b3a5c38"} experiment-1 | {"level":"info","message":"POST /experiments? 201 860ms","method":"POST","requestID":"955be7c15637d8d43be009e84b3a5c38","responseTime":860,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NX0.U7essj0vj1BT7YtPJK3qyUjt14kpxXdjmcao7DfI7Lk","level":"info","message":"auth send jwt","requestID":"42e97e8df038fbe5669bcba559bd2753"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"42e97e8df038fbe5669bcba559bd2753"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:45Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"42e97e8df038fbe5669bcba559bd2753","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754197,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"42e97e8df038fbe5669bcba559bd2753","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617085,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NX0.U7essj0vj1BT7YtPJK3qyUjt14kpxXdjmcao7DfI7Lk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"42e97e8df038fbe5669bcba559bd2753","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:41.361799851Z"}]},"request_id":"0af6d054-8257-4bd5-a01c-f95ff0280320","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617085.156574} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"42e97e8df038fbe5669bcba559bd2753","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f54d55b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f54d55b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044'","requestID":"f54d55b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044'","requestID":"f54d55b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f54d55b0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 148ms","method":"POST","requestID":"f54d55b0-0fec-11f0-b95a-67cf87457f46","responseTime":148,"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":"42e97e8df038fbe5669bcba559bd2753"} gateway-1 | {"time_local":"02/Apr/2025:18:04:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42e97e8df038fbe5669bcba559bd2753"} device-1 | {"level":"info","message":"GET /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0? 200 91ms","method":"GET","requestID":"42e97e8df038fbe5669bcba559bd2753","responseTime":91,"status":200,"url":"/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"f54d55b0-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NX0.U7essj0vj1BT7YtPJK3qyUjt14kpxXdjmcao7DfI7Lk","level":"info","message":"auth send jwt","requestID":"42ea72fd41b83e67780a6d496bb699eb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"42ea72fd41b83e67780a6d496bb699eb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"42ea72fd41b83e67780a6d496bb699eb"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.165604,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"42ea72fd41b83e67780a6d496bb699eb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617085,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4NX0.U7essj0vj1BT7YtPJK3qyUjt14kpxXdjmcao7DfI7Lk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"42ea72fd41b83e67780a6d496bb699eb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044","device":"0dfbdb65-ce19-4589-883d-9c1df53177d0","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} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:41.429631001Z"}]},"request_id":"f9d90583-bb50-416b-906e-989baf71ae83","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617085.2603097} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"42ea72fd41b83e67780a6d496bb699eb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"42ea72fd41b83e67780a6d496bb699eb"} gateway-1 | {"time_local":"02/Apr/2025:18:04:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42ea72fd41b83e67780a6d496bb699eb"} device-1 | {"level":"info","message":"GET /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11? 200 40ms","method":"GET","requestID":"42ea72fd41b83e67780a6d496bb699eb","responseTime":40,"status":200,"url":"/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11?"} device-1 | {"device":"0dfbdb65-ce19-4589-883d-9c1df53177d0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0dfbdb65-ce19-4589-883d-9c1df53177d0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"955be7c15637d8d43be009e84b3a5c38"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f58aacd0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e149d4b0-55f5-4582-ba7d-6b084bd361de","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617085.4740784} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.985382,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f58aacd0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f58aacd0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f58aacd0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/signaling 200 9ms","method":"POST","requestID":"f58aacd0-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f58c5a80-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"928d9d68-10b4-4fe5-8a8e-34334f6e4828","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617085.484306} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.167028,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f58c5a80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","object_type":"device","rebac_allow":false,"scope_allow":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":"f58c5a80-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f58c5a80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11/signaling 200 8ms","method":"POST","requestID":"f58c5a80-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11/signaling"} device-1 | {"device":"38c700a2-06f8-4467-95c7-d87cb9f33d11","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"ea34e93b-56d8-4ba8-b0fb-308893c36044","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 8863894774849165647 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:XGPS\r\na=ice-pwd:XtCsKrbaLxeUiiaWB0JPgf+4\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E4:A9:C2:3D:EA:AD:F0:65:D3:42:F6:86:26:2F:5C:7A:BA:BF:4E:8B:1A:3B:D5:5D:93:8E:68:4B:18:43:7F:7A\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"0dfbdb65-ce19-4589-883d-9c1df53177d0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3432814824 1 udp 2113937151 82123a60-9908-49a4-a8ce-efac73f1c94a.local 60305 typ host generation 0 ufrag XGPS network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0dfbdb65-ce19-4589-883d-9c1df53177d0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"0dfbdb65-ce19-4589-883d-9c1df53177d0","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/ea34e93b-56d8-4ba8-b0fb-308893c36044' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ea34e93b-56d8-4ba8-b0fb-308893c36044","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0dfbdb65-ce19-4589-883d-9c1df53177d0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"38c700a2-06f8-4467-95c7-d87cb9f33d11","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"38c700a2-06f8-4467-95c7-d87cb9f33d11","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"38c700a2-06f8-4467-95c7-d87cb9f33d11","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7706abdf10336f8cce4d87e1c73d2850","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7706abdf10336f8cce4d87e1c73d2850","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/0dfbdb65-ce19-4589-883d-9c1df53177d0"},{"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/38c700a2-06f8-4467-95c7-d87cb9f33d11"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044"}}},"level":"info","message":"received a callback","requestID":"7706abdf10336f8cce4d87e1c73d2850"} device-1 | {"device":"38c700a2-06f8-4467-95c7-d87cb9f33d11","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"7706abdf10336f8cce4d87e1c73d2850","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"7706abdf10336f8cce4d87e1c73d2850"} device-1 | {"device":"0dfbdb65-ce19-4589-883d-9c1df53177d0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"38c700a2-06f8-4467-95c7-d87cb9f33d11","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dfbdb65-ce19-4589-883d-9c1df53177d0","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"ea34e93b-56d8-4ba8-b0fb-308893c36044","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ea34e93b-56d8-4ba8-b0fb-308893c36044","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/ea34e93b-56d8-4ba8-b0fb-308893c36044' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ea34e93b-56d8-4ba8-b0fb-308893c36044","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"385e467b87c537a9978c07a06d6b0c5e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"385e467b87c537a9978c07a06d6b0c5e","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/0dfbdb65-ce19-4589-883d-9c1df53177d0"},{"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/38c700a2-06f8-4467-95c7-d87cb9f33d11"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044"}}},"level":"info","message":"received a callback","requestID":"385e467b87c537a9978c07a06d6b0c5e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f6b45fc0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fea34e93b-56d8-4ba8-b0fb-308893c36044","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b3fc847-4092-4cd1-b3db-e706776b36d7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.4243133} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.128225,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f6b45fc0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044","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":"f6b45fc0-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f6b45fc0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044 200 10ms","method":"GET","requestID":"f6b45fc0-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4N30.3qLfE5o1Ez5nAtyGWn2tE540FfKZhe3nOSbkfWpimrs","level":"info","message":"auth send jwt","requestID":"41ba36f053ced4e640a090d8554942db"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"41ba36f053ced4e640a090d8554942db","responseTime":29,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff","requestID":"41ba36f053ced4e640a090d8554942db"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.764069,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"41ba36f053ced4e640a090d8554942db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617087,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4N30.3qLfE5o1Ez5nAtyGWn2tE540FfKZhe3nOSbkfWpimrs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"41ba36f053ced4e640a090d8554942db","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 59ms","method":"POST","requestID":"385e467b87c537a9978c07a06d6b0c5e","responseTime":59,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch","requestID":"385e467b87c537a9978c07a06d6b0c5e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6bcc430-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:47Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff","requestID":"41ba36f053ced4e640a090d8554942db"} gateway-1 | {"time_local":"02/Apr/2025:18:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"41ba36f053ced4e640a090d8554942db"} experiment-1 | {"level":"info","message":"GET /experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff 200 16ms","method":"GET","requestID":"41ba36f053ced4e640a090d8554942db","responseTime":16,"status":200,"url":"/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f35e697-cd68-4698-8e05-52d71d9e5285","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.4800253} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.088957,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f6bcc430-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","object_type":"device","rebac_allow":false,"scope_allow":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":"f6bcc430-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4N30.3qLfE5o1Ez5nAtyGWn2tE540FfKZhe3nOSbkfWpimrs","level":"info","message":"auth send jwt","requestID":"036401376e08c72c4a10fe5b25440831"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"036401376e08c72c4a10fe5b25440831","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff","requestID":"036401376e08c72c4a10fe5b25440831"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6bcc430-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:47Z"} device-1 | {"level":"info","message":"POST /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/signaling 200 35ms","method":"POST","requestID":"f6bcc430-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/signaling"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.09853,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"036401376e08c72c4a10fe5b25440831","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617087,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4N30.3qLfE5o1Ez5nAtyGWn2tE540FfKZhe3nOSbkfWpimrs"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6c26980-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"036401376e08c72c4a10fe5b25440831","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6c34724-e233-42a3-8042-bd6fd4b6047d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.5163887} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.767971,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:47Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Attempting to finish experiment","requestID":"036401376e08c72c4a10fe5b25440831"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f6c26980-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f6c26980-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f6c37af0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6c26980-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:47Z"} device-1 | {"level":"info","message":"POST /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11/signaling 200 9ms","method":"POST","requestID":"f6c26980-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11/signaling"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.877498,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f6c37af0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617087,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4N30.3qLfE5o1Ez5nAtyGWn2tE540FfKZhe3nOSbkfWpimrs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f6c37af0-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044","device":"0dfbdb65-ce19-4589-883d-9c1df53177d0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"38c700a2-06f8-4467-95c7-d87cb9f33d11","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"38c700a2-06f8-4467-95c7-d87cb9f33d11","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"38c700a2-06f8-4467-95c7-d87cb9f33d11","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044' to 'http://localhost/callbacks/experiment'"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fea34e93b-56d8-4ba8-b0fb-308893c36044': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fea34e93b-56d8-4ba8-b0fb-308893c36044","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"130a1d7c-46e3-4526-97ea-97ae97eb2e7f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.5582018} device-1 | {"data":{"peerconnection":"ea34e93b-56d8-4ba8-b0fb-308893c36044","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b7544f47-5738-4703-a049-b883bcada7f2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.5583847} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"f6c37af0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"66ceb90633f35956e3368ae8ac866daa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"66ceb90633f35956e3368ae8ac866daa","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0"},{"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/38c700a2-06f8-4467-95c7-d87cb9f33d11"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044"}}},"level":"info","message":"received a callback","requestID":"66ceb90633f35956e3368ae8ac866daa"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e0d416ab28548adbe4ec0bb4a20f8cc5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e0d416ab28548adbe4ec0bb4a20f8cc5","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":"connected","url":"http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0"},{"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/38c700a2-06f8-4467-95c7-d87cb9f33d11"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044"}}},"level":"info","message":"received a callback","requestID":"e0d416ab28548adbe4ec0bb4a20f8cc5"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f6c37af0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044 204 47ms","method":"DELETE","requestID":"f6c37af0-0fec-11f0-b95a-67cf87457f46","responseTime":47,"status":204,"url":"/peerconnections/ea34e93b-56d8-4ba8-b0fb-308893c36044"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"},"level":"info","message":"Successfully finished experiment","requestID":"036401376e08c72c4a10fe5b25440831"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6d10f80-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfbdb65-ce19-4589-883d-9c1df53177d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7923e72-d4cc-4140-be71-85b1db7d9505","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.6123307} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.346811,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f6d10f80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f6d10f80-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6d10f80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/signaling 200 8ms","method":"POST","requestID":"f6d10f80-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/0dfbdb65-ce19-4589-883d-9c1df53177d0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6d29620-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38c700a2-06f8-4467-95c7-d87cb9f33d11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b29c102-1ecf-489f-aa4a-6850d2ba29f1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.6220846} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F86fa013b-5c29-4b54-9996-ee8f41df10ff': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F86fa013b-5c29-4b54-9996-ee8f41df10ff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"e7968ca0-6794-4075-95f7-7c11ed99ae3a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.6222274} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4eff8653-6102-4e7a-9f1e-dbb92074dcf6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.622563} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.348742,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f6d29620-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f6d29620-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"036401376e08c72c4a10fe5b25440831","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6d29620-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/38c700a2-06f8-4467-95c7-d87cb9f33d11/signaling 200 32ms","method":"POST","requestID":"f6d29620-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff","requestID":"036401376e08c72c4a10fe5b25440831"} gateway-1 | {"time_local":"02/Apr/2025:18:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.271","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"036401376e08c72c4a10fe5b25440831"} experiment-1 | {"level":"info","message":"DELETE /experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff 204 245ms","method":"DELETE","requestID":"036401376e08c72c4a10fe5b25440831","responseTime":245,"status":204,"url":"/experiments/86fa013b-5c29-4b54-9996-ee8f41df10ff"} gateway-1 | {"time_local":"02/Apr/2025:18:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2491","request_time":"4.757","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"99ca146fea472c521ad06ea558a41bf1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 193ms","method":"POST","requestID":"66ceb90633f35956e3368ae8ac866daa","responseTime":193,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"66ceb90633f35956e3368ae8ac866daa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"e0d416ab28548adbe4ec0bb4a20f8cc5","responseTime":192,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch","requestID":"e0d416ab28548adbe4ec0bb4a20f8cc5"} gateway-1 | {"time_local":"02/Apr/2025:18:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2365","request_time":"3.702","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e2e8ef1eb5c24ae695d0a42350e14d79"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4N30.3qLfE5o1Ez5nAtyGWn2tE540FfKZhe3nOSbkfWpimrs","level":"info","message":"auth send jwt","requestID":"cc0756e1177efeaf4b3d74414ce81bf5"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cc0756e1177efeaf4b3d74414ce81bf5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"cc0756e1177efeaf4b3d74414ce81bf5"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/38c700a2-06f8-4467-95c7-d87cb9f33d11' closed"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.491183,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cc0756e1177efeaf4b3d74414ce81bf5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617087,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4N30.3qLfE5o1Ez5nAtyGWn2tE540FfKZhe3nOSbkfWpimrs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cc0756e1177efeaf4b3d74414ce81bf5","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/0dfbdb65-ce19-4589-883d-9c1df53177d0' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"16283914-58e3-4c93-b6d4-0b1068878dc5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.8156986} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cc0756e1177efeaf4b3d74414ce81bf5","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"445960ec-3557-46f9-bb7c-9250e223a1cc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.8196785} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"cc0756e1177efeaf4b3d74414ce81bf5","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"e3405a91-3386-4d24-8c58-50a2da754f17","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.8551853} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0dafb921-6d16-4325-a506-40c0ac6c5595","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.8553138} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"cc0756e1177efeaf4b3d74414ce81bf5","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:47.855161838Z"}]},"request_id":"a9c344f7-f42a-4483-a701-c90ee06169f1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.859915} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cc0756e1177efeaf4b3d74414ce81bf5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cc0756e1177efeaf4b3d74414ce81bf5"} gateway-1 | {"time_local":"02/Apr/2025:18:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.108","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc0756e1177efeaf4b3d74414ce81bf5"} device-1 | {"level":"info","message":"POST /devices? 201 97ms","method":"POST","requestID":"cc0756e1177efeaf4b3d74414ce81bf5","responseTime":97,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4N30.3qLfE5o1Ez5nAtyGWn2tE540FfKZhe3nOSbkfWpimrs","level":"info","message":"auth send jwt","requestID":"a779b1e30c876f07a6ff2948e6d907eb"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"a779b1e30c876f07a6ff2948e6d907eb","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a779b1e30c876f07a6ff2948e6d907eb"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.757071,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"a779b1e30c876f07a6ff2948e6d907eb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617087,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4N30.3qLfE5o1Ez5nAtyGWn2tE540FfKZhe3nOSbkfWpimrs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a779b1e30c876f07a6ff2948e6d907eb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9f8deb20-c6ee-431f-95cb-5bd1c198c659","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.9095998} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a779b1e30c876f07a6ff2948e6d907eb","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b2f9c4f-81b4-4908-8906-2f4e9765a614","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.938733} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"a779b1e30c876f07a6ff2948e6d907eb","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"31b20502-2549-43cc-898f-7a4ae898ae1c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.9506347} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b07c0a43-c995-4298-b18c-fd4e5690737d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.9507504} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"a779b1e30c876f07a6ff2948e6d907eb","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:47.950612179Z"}]},"request_id":"a89f870c-2d16-42f6-8025-652ca45291a6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617087.9540975} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a779b1e30c876f07a6ff2948e6d907eb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a779b1e30c876f07a6ff2948e6d907eb"} gateway-1 | {"time_local":"02/Apr/2025:18:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a779b1e30c876f07a6ff2948e6d907eb"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"a779b1e30c876f07a6ff2948e6d907eb","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4OH0.hIi-YNZn7bGcSbh6eUWrdtsQuz33eNy4rM964ZaWwmw","level":"info","message":"auth send jwt","requestID":"0f34be0aeed5709830f66271c8cb8221"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0f34be0aeed5709830f66271c8cb8221","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:48Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.961757,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:48Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"0f34be0aeed5709830f66271c8cb8221"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0f34be0aeed5709830f66271c8cb8221","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617088,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4OH0.hIi-YNZn7bGcSbh6eUWrdtsQuz33eNy4rM964ZaWwmw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0f34be0aeed5709830f66271c8cb8221","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:47.950612179Z"}]},"request_id":"6ac5829f-08cf-416a-9c1c-2221ed11a3bb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617088.9543746} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0f34be0aeed5709830f66271c8cb8221","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5be64401-8727-4d17-933f-366c8c82c284","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617088.958501} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"0f34be0aeed5709830f66271c8cb8221","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:47.950612179Z"}]},"request_id":"ae985db4-5a64-4f6d-8bf4-482abb6a7e55","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617089.009822} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0f34be0aeed5709830f66271c8cb8221","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"0f34be0aeed5709830f66271c8cb8221"} device-1 | {"level":"info","message":"PATCH /devices/e977a90d-dec0-4aa4-9144-64453909d03c 200 66ms","method":"PATCH","requestID":"0f34be0aeed5709830f66271c8cb8221","responseTime":66,"status":200,"url":"/devices/e977a90d-dec0-4aa4-9144-64453909d03c"} gateway-1 | {"time_local":"02/Apr/2025:18:04:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e977a90d-dec0-4aa4-9144-64453909d03c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.093","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"0f34be0aeed5709830f66271c8cb8221"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4OX0.o1asKN75MDP0nceEPNNOXlTteiiUP6uePcRHq2esHZQ","level":"info","message":"auth send jwt","requestID":"e4c88a4b0a5c4421e64740a67fc2d441"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e4c88a4b0a5c4421e64740a67fc2d441","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e4c88a4b0a5c4421e64740a67fc2d441"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705521,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e4c88a4b0a5c4421e64740a67fc2d441","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617089,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA4OX0.o1asKN75MDP0nceEPNNOXlTteiiUP6uePcRHq2esHZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e4c88a4b0a5c4421e64740a67fc2d441","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e4c88a4b0a5c4421e64740a67fc2d441"} device-1 | {"level":"info","message":"POST /devices/e977a90d-dec0-4aa4-9144-64453909d03c/websocket 200 42ms","method":"POST","requestID":"e4c88a4b0a5c4421e64740a67fc2d441","responseTime":42,"status":200,"url":"/devices/e977a90d-dec0-4aa4-9144-64453909d03c/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:04:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e977a90d-dec0-4aa4-9144-64453909d03c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"e4c88a4b0a5c4421e64740a67fc2d441"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4f666eedd88eca089e1e28137650884a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4f666eedd88eca089e1e28137650884a","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:04:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/311a9a2a-7b93-4be3-8440-574a4f402f77/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":"4f666eedd88eca089e1e28137650884a"} device-1 | {"level":"info","message":"OPTIONS /devices/311a9a2a-7b93-4be3-8440-574a4f402f77/websocket 200 1ms","method":"OPTIONS","requestID":"4f666eedd88eca089e1e28137650884a","responseTime":1,"status":200,"url":"/devices/311a9a2a-7b93-4be3-8440-574a4f402f77/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M","level":"info","message":"auth send jwt","requestID":"20cdea897065150f0f0b5a1072467ddd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"20cdea897065150f0f0b5a1072467ddd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"20cdea897065150f0f0b5a1072467ddd"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665971,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"20cdea897065150f0f0b5a1072467ddd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617090,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"20cdea897065150f0f0b5a1072467ddd","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"20cdea897065150f0f0b5a1072467ddd"} gateway-1 | {"time_local":"02/Apr/2025:18:04:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/311a9a2a-7b93-4be3-8440-574a4f402f77/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.062","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"20cdea897065150f0f0b5a1072467ddd"} device-1 | {"level":"info","message":"POST /devices/311a9a2a-7b93-4be3-8440-574a4f402f77/websocket 200 58ms","method":"POST","requestID":"20cdea897065150f0f0b5a1072467ddd","responseTime":58,"status":200,"url":"/devices/311a9a2a-7b93-4be3-8440-574a4f402f77/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M","level":"info","message":"auth send jwt","requestID":"429e29e8e784901e7cec32bc2251edf9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"429e29e8e784901e7cec32bc2251edf9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"429e29e8e784901e7cec32bc2251edf9"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.11215,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"429e29e8e784901e7cec32bc2251edf9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617090,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"429e29e8e784901e7cec32bc2251edf9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:47.855161838Z"}]},"request_id":"75d3153a-543d-4a3a-8261-ca21347fdcfa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.3903441} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"429e29e8e784901e7cec32bc2251edf9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"429e29e8e784901e7cec32bc2251edf9"} gateway-1 | {"time_local":"02/Apr/2025:18:04:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/311a9a2a-7b93-4be3-8440-574a4f402f77? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"429e29e8e784901e7cec32bc2251edf9"} device-1 | {"level":"info","message":"GET /devices/311a9a2a-7b93-4be3-8440-574a4f402f77? 200 34ms","method":"GET","requestID":"429e29e8e784901e7cec32bc2251edf9","responseTime":34,"status":200,"url":"/devices/311a9a2a-7b93-4be3-8440-574a4f402f77?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M","level":"info","message":"auth send jwt","requestID":"f626ae417a69e5586692e2a4816dba7e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f626ae417a69e5586692e2a4816dba7e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f626ae417a69e5586692e2a4816dba7e"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7079,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f626ae417a69e5586692e2a4816dba7e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617090,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f626ae417a69e5586692e2a4816dba7e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:47.950612179Z"}]},"request_id":"b77643d6-97fa-4c84-8693-04cc255885c1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.4042563} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f626ae417a69e5586692e2a4816dba7e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f626ae417a69e5586692e2a4816dba7e"} gateway-1 | {"time_local":"02/Apr/2025:18:04:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e977a90d-dec0-4aa4-9144-64453909d03c? 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":"f626ae417a69e5586692e2a4816dba7e"} device-1 | {"level":"info","message":"GET /devices/e977a90d-dec0-4aa4-9144-64453909d03c? 200 10ms","method":"GET","requestID":"f626ae417a69e5586692e2a4816dba7e","responseTime":10,"status":200,"url":"/devices/e977a90d-dec0-4aa4-9144-64453909d03c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M","level":"info","message":"auth send jwt","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5c9bc8104dcb3ca9d32490798c8c902a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.655178,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"5c9bc8104dcb3ca9d32490798c8c902a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617090,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5c9bc8104dcb3ca9d32490798c8c902a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Attempting to run experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Attempting to book experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Successfully booked experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f88a5840-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f88a7f50-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.977682,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f88a5840-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617090,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f88a5840-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.189479,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f88a7f50-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617090,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"f88a7f50-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:47.855161838Z"}]},"request_id":"0772cf0e-9885-47ef-8596-d973ccfe3ab0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.5310328} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f88a5840-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:47.950612179Z"}]},"request_id":"8c86d44d-47f6-42ab-be79-236878f64899","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.5340493} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f88a5840-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/311a9a2a-7b93-4be3-8440-574a4f402f77? 200 34ms","method":"GET","requestID":"f88a5840-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/311a9a2a-7b93-4be3-8440-574a4f402f77?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f88a7f50-0fec-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f88a7f50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/e977a90d-dec0-4aa4-9144-64453909d03c? 200 35ms","method":"GET","requestID":"f88a7f50-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/e977a90d-dec0-4aa4-9144-64453909d03c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Setting up experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Successfully set up experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f89e0750-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.801113,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f89e2e60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f89e7c80-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Successfully running experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f89e0750-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617090,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f89e0750-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.866903,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f89e2e60-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617090,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f89e2e60-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.225746,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1af80130-798f-453c-9531-816b3a1b96dd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.638607} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f89e7c80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f89e7c80-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:47.950612179Z"}]},"request_id":"49afda0e-a5fe-4ae1-a1cc-834c3ee94f7a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.6403596} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f89e7c80-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"f89e2e60-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:47.855161838Z"}]},"request_id":"dc55cbcf-d165-40f0-bb7c-73e971c50f8e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.6433809} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f89e0750-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/311a9a2a-7b93-4be3-8440-574a4f402f77/signaling 200 13ms","method":"POST","requestID":"f89e7c80-0fec-11f0-b95a-67cf87457f46","responseTime":13,"status":200,"url":"/devices/311a9a2a-7b93-4be3-8440-574a4f402f77/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8a0c670-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f89e2e60-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/e977a90d-dec0-4aa4-9144-64453909d03c? 200 43ms","method":"GET","requestID":"f89e2e60-0fec-11f0-b95a-67cf87457f46","responseTime":43,"status":200,"url":"/devices/e977a90d-dec0-4aa4-9144-64453909d03c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f89e0750-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} device-1 | {"level":"info","message":"GET /devices/311a9a2a-7b93-4be3-8440-574a4f402f77? 200 46ms","method":"GET","requestID":"f89e0750-0fec-11f0-b95a-67cf87457f46","responseTime":46,"status":200,"url":"/devices/311a9a2a-7b93-4be3-8440-574a4f402f77?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2cdd604d-9d7b-491a-9273-15bafc070f08#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2cdd604d-9d7b-491a-9273-15bafc070f08","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"247b9edd-3592-47c6-9ec1-9faf77d9c773","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.6758482} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"432a2d1b-d136-4226-be02-9b4c5830b4e4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.6758842} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32009e12-bf11-417f-9b76-9d24c6ac1e7f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.6761177} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8a55a50-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"5c9bc8104dcb3ca9d32490798c8c902a","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.193955,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f8a0c670-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","object_type":"device","rebac_allow":false,"scope_allow":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":"f8a0c670-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8a0c670-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/e977a90d-dec0-4aa4-9144-64453909d03c/signaling 200 34ms","method":"POST","requestID":"f8a0c670-0fec-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/e977a90d-dec0-4aa4-9144-64453909d03c/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eeeff8c1-43db-4830-990a-a19a7e774d5a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.6826987} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.827496,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f8a55a50-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"02/Apr/2025:18:04:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.253","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 249ms","method":"POST","requestID":"5c9bc8104dcb3ca9d32490798c8c902a","responseTime":249,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f8a55a50-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8a55a50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/311a9a2a-7b93-4be3-8440-574a4f402f77/signaling 200 10ms","method":"POST","requestID":"f8a55a50-0fec-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/311a9a2a-7b93-4be3-8440-574a4f402f77/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M","level":"info","message":"auth send jwt","requestID":"c2044d538827a8bb6074cda290dfb2f4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8a72f10-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c2044d538827a8bb6074cda290dfb2f4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c2044d538827a8bb6074cda290dfb2f4"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719492,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c2044d538827a8bb6074cda290dfb2f4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617090,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c2044d538827a8bb6074cda290dfb2f4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89a2feba-de50-47da-95b3-68db4af28258","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.693555} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.266944,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f8a72f10-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f8a72f10-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:47.855161838Z"}]},"request_id":"fc2026a6-c549-44be-9552-d075e0d62e8d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.720872} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8a72f10-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"c2044d538827a8bb6074cda290dfb2f4","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/e977a90d-dec0-4aa4-9144-64453909d03c/signaling 200 33ms","method":"POST","requestID":"f8a72f10-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/e977a90d-dec0-4aa4-9144-64453909d03c/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Building connection plan","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} 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":"1df109f4-b9bb-470b-b17a-4c62a6e86f71"},{"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":"312120cc-ee05-4555-8b8c-4139dc0db393"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ba929f91-2efc-408e-94f9-4d532f8c58d9"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} 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/311a9a2a-7b93-4be3-8440-574a4f402f77"},{"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/e977a90d-dec0-4aa4-9144-64453909d03c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f8acad50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c2044d538827a8bb6074cda290dfb2f4"} gateway-1 | {"time_local":"02/Apr/2025:18:04:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/311a9a2a-7b93-4be3-8440-574a4f402f77? 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":"c2044d538827a8bb6074cda290dfb2f4"} device-1 | {"level":"info","message":"GET /devices/311a9a2a-7b93-4be3-8440-574a4f402f77? 200 35ms","method":"GET","requestID":"c2044d538827a8bb6074cda290dfb2f4","responseTime":35,"status":200,"url":"/devices/311a9a2a-7b93-4be3-8440-574a4f402f77?"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.655318,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f8acad50-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617090,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f8acad50-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M","level":"info","message":"auth send jwt","requestID":"ce221aa3cd651b05b18133b122e87d6c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ce221aa3cd651b05b18133b122e87d6c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce221aa3cd651b05b18133b122e87d6c"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667181,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ce221aa3cd651b05b18133b122e87d6c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617090,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5MH0.1DgDVqfCF5U7JNXAq4s_MBKA57XxuRcSb7xp1ttrq9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ce221aa3cd651b05b18133b122e87d6c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"fc90645f-35b1-4101-81b2-6906b7a5fede","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.735638} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"132c2579-f496-4059-a612-e94593811d72","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.7357883} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"f8acad50-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:47.950612179Z"}]},"request_id":"19df7222-ebdd-4065-b80c-27d57f42d9bb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.7390242} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ce221aa3cd651b05b18133b122e87d6c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f8acad50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f8acad50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349'","requestID":"f8acad50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349'","requestID":"f8acad50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f8acad50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 57ms","method":"POST","requestID":"f8acad50-0fec-11f0-b95a-67cf87457f46","responseTime":57,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce221aa3cd651b05b18133b122e87d6c"} gateway-1 | {"time_local":"02/Apr/2025:18:04:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e977a90d-dec0-4aa4-9144-64453909d03c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce221aa3cd651b05b18133b122e87d6c"} device-1 | {"level":"info","message":"GET /devices/e977a90d-dec0-4aa4-9144-64453909d03c? 200 51ms","method":"GET","requestID":"ce221aa3cd651b05b18133b122e87d6c","responseTime":51,"status":200,"url":"/devices/e977a90d-dec0-4aa4-9144-64453909d03c?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"f8acad50-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349","device":"311a9a2a-7b93-4be3-8440-574a4f402f77","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5c9bc8104dcb3ca9d32490798c8c902a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8be3980-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0caac14d-d1c0-49f6-b9ac-95e09e79c401","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.8707776} device-1 | {"device":"311a9a2a-7b93-4be3-8440-574a4f402f77","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"311a9a2a-7b93-4be3-8440-574a4f402f77","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.678114,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f8be3980-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","object_type":"device","rebac_allow":false,"scope_allow":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":"f8be3980-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8be3980-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/311a9a2a-7b93-4be3-8440-574a4f402f77/signaling 200 35ms","method":"POST","requestID":"f8be3980-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/311a9a2a-7b93-4be3-8440-574a4f402f77/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8c3ded0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33d0fe40-2935-4854-adce-2b5e784f2078","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617090.8812745} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.270092,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f8c3ded0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f8c3ded0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8c3ded0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/e977a90d-dec0-4aa4-9144-64453909d03c/signaling 200 8ms","method":"POST","requestID":"f8c3ded0-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/e977a90d-dec0-4aa4-9144-64453909d03c/signaling"} device-1 | {"device":"e977a90d-dec0-4aa4-9144-64453909d03c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"7de1aea6-244f-428a-ba45-4be02406b349","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 4341937981999116206 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:5YwW\r\na=ice-pwd:weqOsBewTNepMHaXnlupclp7\r\na=ice-options:trickle\r\na=fingerprint:sha-256 1D:4E:11:8F:15:00:C8:3C:A6:4D:F9:0F:DF:A6:61:47:4E:5C:92:24:85:B7:22:43:B3:AF:C9:DE:38:74:0B:D1\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"311a9a2a-7b93-4be3-8440-574a4f402f77","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3670307053 1 udp 2113937151 5befa029-afc6-448c-afec-b62240fd950c.local 39703 typ host generation 0 ufrag 5YwW network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"311a9a2a-7b93-4be3-8440-574a4f402f77","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"311a9a2a-7b93-4be3-8440-574a4f402f77","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/7de1aea6-244f-428a-ba45-4be02406b349' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7de1aea6-244f-428a-ba45-4be02406b349","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"311a9a2a-7b93-4be3-8440-574a4f402f77","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"e977a90d-dec0-4aa4-9144-64453909d03c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e977a90d-dec0-4aa4-9144-64453909d03c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e977a90d-dec0-4aa4-9144-64453909d03c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d3492e4690d0a2d464bff4a3ccbb2617","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"d3492e4690d0a2d464bff4a3ccbb2617","responseTime":25,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77"},{"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/e977a90d-dec0-4aa4-9144-64453909d03c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349"}}},"level":"info","message":"received a callback","requestID":"d3492e4690d0a2d464bff4a3ccbb2617"} device-1 | {"device":"e977a90d-dec0-4aa4-9144-64453909d03c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"d3492e4690d0a2d464bff4a3ccbb2617","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"d3492e4690d0a2d464bff4a3ccbb2617"} device-1 | {"device":"311a9a2a-7b93-4be3-8440-574a4f402f77","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e977a90d-dec0-4aa4-9144-64453909d03c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"311a9a2a-7b93-4be3-8440-574a4f402f77","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU","level":"info","message":"auth send jwt","requestID":"7f552d6631608ea0dafdb5229a3d2866"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7f552d6631608ea0dafdb5229a3d2866","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","requestID":"7f552d6631608ea0dafdb5229a3d2866"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":24.883473,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7f552d6631608ea0dafdb5229a3d2866","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617093,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"7f552d6631608ea0dafdb5229a3d2866","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","requestID":"7f552d6631608ea0dafdb5229a3d2866"} gateway-1 | {"time_local":"02/Apr/2025:18:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f552d6631608ea0dafdb5229a3d2866"} experiment-1 | {"level":"info","message":"GET /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08 200 33ms","method":"GET","requestID":"7f552d6631608ea0dafdb5229a3d2866","responseTime":33,"status":200,"url":"/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"} device-1 | {"data":{"peerconnection":"7de1aea6-244f-428a-ba45-4be02406b349","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU","level":"info","message":"auth send jwt","requestID":"1a34f79b5dbb0800f5672a4fe8d48137"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1a34f79b5dbb0800f5672a4fe8d48137","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","requestID":"1a34f79b5dbb0800f5672a4fe8d48137"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.765953,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1a34f79b5dbb0800f5672a4fe8d48137","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617093,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1a34f79b5dbb0800f5672a4fe8d48137","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","requestID":"1a34f79b5dbb0800f5672a4fe8d48137"} experiment-1 | {"level":"info","message":"GET /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08 200 33ms","method":"GET","requestID":"1a34f79b5dbb0800f5672a4fe8d48137","responseTime":33,"status":200,"url":"/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"} gateway-1 | {"time_local":"02/Apr/2025:18:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a34f79b5dbb0800f5672a4fe8d48137"} device-1 | {"data":{"peerconnection":"7de1aea6-244f-428a-ba45-4be02406b349","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/7de1aea6-244f-428a-ba45-4be02406b349' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7de1aea6-244f-428a-ba45-4be02406b349","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d05be7371411135a5f77037e58c688d0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d05be7371411135a5f77037e58c688d0","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/311a9a2a-7b93-4be3-8440-574a4f402f77"},{"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/e977a90d-dec0-4aa4-9144-64453909d03c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349"}}},"level":"info","message":"received a callback","requestID":"d05be7371411135a5f77037e58c688d0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU","level":"info","message":"auth send jwt","requestID":"301021106a8bf0086f43bfff218bfbb5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"301021106a8bf0086f43bfff218bfbb5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"fa3262f0-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","requestID":"301021106a8bf0086f43bfff218bfbb5"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.758902,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"301021106a8bf0086f43bfff218bfbb5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617093,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"301021106a8bf0086f43bfff218bfbb5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7de1aea6-244f-428a-ba45-4be02406b349","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed269ed7-85b3-418f-b11b-9fe59af21106","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.2835226} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.517883,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fa3262f0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349","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":"fa3262f0-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"fa3262f0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/7de1aea6-244f-428a-ba45-4be02406b349 200 8ms","method":"GET","requestID":"fa3262f0-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","requestID":"301021106a8bf0086f43bfff218bfbb5"} gateway-1 | {"time_local":"02/Apr/2025:18:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"301021106a8bf0086f43bfff218bfbb5"} experiment-1 | {"level":"info","message":"GET /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08 200 36ms","method":"GET","requestID":"301021106a8bf0086f43bfff218bfbb5","responseTime":36,"status":200,"url":"/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 59ms","method":"POST","requestID":"d05be7371411135a5f77037e58c688d0","responseTime":59,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch","requestID":"d05be7371411135a5f77037e58c688d0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fa3ac760-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e25b9aac-976a-45df-a94e-7736000b7976","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.3621619} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.439627,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fa3ac760-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","object_type":"device","rebac_allow":false,"scope_allow":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":"fa3ac760-0fec-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fa3ac760-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/311a9a2a-7b93-4be3-8440-574a4f402f77/signaling 200 32ms","method":"POST","requestID":"fa3ac760-0fec-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/devices/311a9a2a-7b93-4be3-8440-574a4f402f77/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fa3fd070-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ec8e57e-c31a-40c2-9375-32b9d089774d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.3722353} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.968689,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fa3fd070-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fa3fd070-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fa3fd070-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/e977a90d-dec0-4aa4-9144-64453909d03c/signaling 200 9ms","method":"POST","requestID":"fa3fd070-0fec-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/e977a90d-dec0-4aa4-9144-64453909d03c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU","level":"info","message":"auth send jwt","requestID":"77343c4fec2a4dbc8a6d3857030fedd9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"77343c4fec2a4dbc8a6d3857030fedd9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","requestID":"77343c4fec2a4dbc8a6d3857030fedd9"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.67139,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"77343c4fec2a4dbc8a6d3857030fedd9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617093,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"77343c4fec2a4dbc8a6d3857030fedd9","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","requestID":"77343c4fec2a4dbc8a6d3857030fedd9"} experiment-1 | {"level":"info","message":"GET /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08 200 9ms","method":"GET","requestID":"77343c4fec2a4dbc8a6d3857030fedd9","responseTime":9,"status":200,"url":"/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"} gateway-1 | {"time_local":"02/Apr/2025:18:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08 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":"77343c4fec2a4dbc8a6d3857030fedd9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU","level":"info","message":"auth send jwt","requestID":"8c5c9f3cf3703260bdc12a7611d36dbc"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"8c5c9f3cf3703260bdc12a7611d36dbc","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","requestID":"8c5c9f3cf3703260bdc12a7611d36dbc"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.972625,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"8c5c9f3cf3703260bdc12a7611d36dbc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617093,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8c5c9f3cf3703260bdc12a7611d36dbc","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Attempting to finish experiment","requestID":"8c5c9f3cf3703260bdc12a7611d36dbc"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"fa4ec490-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.684548,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fa4ec490-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617093,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"fa4ec490-0fec-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349","device":"311a9a2a-7b93-4be3-8440-574a4f402f77","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"e977a90d-dec0-4aa4-9144-64453909d03c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e977a90d-dec0-4aa4-9144-64453909d03c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e977a90d-dec0-4aa4-9144-64453909d03c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7de1aea6-244f-428a-ba45-4be02406b349","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"daa32dd3592b2263b12022efa21c1568","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"daa32dd3592b2263b12022efa21c1568","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7de1aea6-244f-428a-ba45-4be02406b349': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7de1aea6-244f-428a-ba45-4be02406b349","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"e2bb1b2b-7555-4710-a9ff-1661cb99814a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.5057352} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"576438a9-3b27-4e0f-9524-e12478b1f7bd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.5058804} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"fa4ec490-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"83e144e022f33671c2f4cf90bb0825ec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/311a9a2a-7b93-4be3-8440-574a4f402f77"},{"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/e977a90d-dec0-4aa4-9144-64453909d03c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349"}}},"level":"info","message":"received a callback","requestID":"daa32dd3592b2263b12022efa21c1568"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"83e144e022f33671c2f4cf90bb0825ec","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/311a9a2a-7b93-4be3-8440-574a4f402f77"},{"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/e977a90d-dec0-4aa4-9144-64453909d03c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349"}}},"level":"info","message":"received a callback","requestID":"83e144e022f33671c2f4cf90bb0825ec"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"fa4ec490-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/7de1aea6-244f-428a-ba45-4be02406b349 204 45ms","method":"DELETE","requestID":"fa4ec490-0fec-11f0-b95a-67cf87457f46","responseTime":45,"status":204,"url":"/peerconnections/7de1aea6-244f-428a-ba45-4be02406b349"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"},"level":"info","message":"Successfully finished experiment","requestID":"8c5c9f3cf3703260bdc12a7611d36dbc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fa5d6a90-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F311a9a2a-7b93-4be3-8440-574a4f402f77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14e729b4-8c6b-4b9d-980a-73d5a00c385f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.5652409} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.303306,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fa5d6a90-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77","object_type":"device","rebac_allow":false,"scope_allow":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":"fa5d6a90-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fa5d6a90-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/311a9a2a-7b93-4be3-8440-574a4f402f77/signaling 200 8ms","method":"POST","requestID":"fa5d6a90-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/311a9a2a-7b93-4be3-8440-574a4f402f77/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fa5ef130-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2cdd604d-9d7b-491a-9273-15bafc070f08': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2cdd604d-9d7b-491a-9273-15bafc070f08","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"dd879ca4-d1fd-41ad-8b4c-9378d33e6553","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.575207} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe977a90d-dec0-4aa4-9144-64453909d03c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81718216-ee52-4c64-8489-a5f7dec046aa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.57531} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a5522cc-8a11-422c-bcf4-a9933e8f9b75","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.5754821} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.706393,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fa5ef130-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c","object_type":"device","rebac_allow":false,"scope_allow":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":"fa5ef130-0fec-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"8c5c9f3cf3703260bdc12a7611d36dbc","responseTime":42,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fa5ef130-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/e977a90d-dec0-4aa4-9144-64453909d03c/signaling 200 33ms","method":"POST","requestID":"fa5ef130-0fec-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/e977a90d-dec0-4aa4-9144-64453909d03c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08","requestID":"8c5c9f3cf3703260bdc12a7611d36dbc"} gateway-1 | {"time_local":"02/Apr/2025:18:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08 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":"8c5c9f3cf3703260bdc12a7611d36dbc"} experiment-1 | {"level":"info","message":"DELETE /experiments/2cdd604d-9d7b-491a-9273-15bafc070f08 204 253ms","method":"DELETE","requestID":"8c5c9f3cf3703260bdc12a7611d36dbc","responseTime":253,"status":204,"url":"/experiments/2cdd604d-9d7b-491a-9273-15bafc070f08"} gateway-1 | {"time_local":"02/Apr/2025:18:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2491","request_time":"4.650","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"bbfde339c228170bceaebb04ddd7136f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 205ms","method":"POST","requestID":"daa32dd3592b2263b12022efa21c1568","responseTime":205,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch","requestID":"daa32dd3592b2263b12022efa21c1568"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 205ms","method":"POST","requestID":"83e144e022f33671c2f4cf90bb0825ec","responseTime":205,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch","requestID":"83e144e022f33671c2f4cf90bb0825ec"} gateway-1 | {"time_local":"02/Apr/2025:18:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2365","request_time":"3.378","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b7092fb8b701280a4a8a2480cc1e8126"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU","level":"info","message":"auth send jwt","requestID":"23b65b5aa38af6fb194e01e4e114273c"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"23b65b5aa38af6fb194e01e4e114273c","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"23b65b5aa38af6fb194e01e4e114273c"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.824586,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"23b65b5aa38af6fb194e01e4e114273c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617093,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"23b65b5aa38af6fb194e01e4e114273c","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e977a90d-dec0-4aa4-9144-64453909d03c' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e3dc0273-0649-4914-aa87-7eca4c68d787","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.7626848} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"23b65b5aa38af6fb194e01e4e114273c","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"761d2668-e148-4e35-a0b7-31d7bb96e57e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.7676065} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/311a9a2a-7b93-4be3-8440-574a4f402f77' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"23b65b5aa38af6fb194e01e4e114273c","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"dcf7de1a-1dbb-4481-9620-b9a2fd416460","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.802216} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6453f19a-6586-4d9a-aef9-9ac2b01e927f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.8021972} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"23b65b5aa38af6fb194e01e4e114273c","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:53.802182552Z"}]},"request_id":"62e46c36-fdc3-4bbd-8188-80c1501524e3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.8066666} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"23b65b5aa38af6fb194e01e4e114273c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"23b65b5aa38af6fb194e01e4e114273c"} gateway-1 | {"time_local":"02/Apr/2025:18:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23b65b5aa38af6fb194e01e4e114273c"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"23b65b5aa38af6fb194e01e4e114273c","responseTime":87,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU","level":"info","message":"auth send jwt","requestID":"163657c5823cf42329f269b9eb93e9a9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"163657c5823cf42329f269b9eb93e9a9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"163657c5823cf42329f269b9eb93e9a9"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.685951,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"163657c5823cf42329f269b9eb93e9a9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617093,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5M30.Zetkpz8xsSLdhnQ-_9XQJe1q6MfgQyZsA7k9hD1-ekU"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"163657c5823cf42329f269b9eb93e9a9","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7406c260-ed9a-4304-a73f-11cd2d2fb0aa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.8548288} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"163657c5823cf42329f269b9eb93e9a9","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b8d42db-e05f-44ef-af24-74cdd0d33c70","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.8592734} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"163657c5823cf42329f269b9eb93e9a9","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"b9b89e27-d378-43cd-bdf1-9c4a2d51fd8f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.8955576} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83645508-283a-4ac9-8892-509ca602703d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.8958273} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"163657c5823cf42329f269b9eb93e9a9","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:53.895513496Z"}]},"request_id":"3cd37821-16df-4de0-b875-fc520b1f2014","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617093.9026785} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"163657c5823cf42329f269b9eb93e9a9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"163657c5823cf42329f269b9eb93e9a9"} gateway-1 | {"time_local":"02/Apr/2025:18:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"163657c5823cf42329f269b9eb93e9a9"} device-1 | {"level":"info","message":"POST /devices? 201 91ms","method":"POST","requestID":"163657c5823cf42329f269b9eb93e9a9","responseTime":91,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5NH0.yyq5J-h3sPSFzIYeXg5PkSel13nalh_FlqrrmOeEI2M","level":"info","message":"auth send jwt","requestID":"38a7f454a3e27e5946dc3e51c71d318f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"38a7f454a3e27e5946dc3e51c71d318f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"38a7f454a3e27e5946dc3e51c71d318f"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:54Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.798445,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"38a7f454a3e27e5946dc3e51c71d318f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617094,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5NH0.yyq5J-h3sPSFzIYeXg5PkSel13nalh_FlqrrmOeEI2M"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"38a7f454a3e27e5946dc3e51c71d318f","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:53.802182552Z"}]},"request_id":"91122da0-7edd-4fb1-9855-344d5f854ca0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617094.9020436} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"38a7f454a3e27e5946dc3e51c71d318f","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"612fc49a-7015-4e8c-a2ad-31a8873be0cb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617094.906031} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"38a7f454a3e27e5946dc3e51c71d318f","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:53.802182552Z"}]},"request_id":"1c446275-55f2-464c-a844-7d3326d4040f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617094.9545515} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"38a7f454a3e27e5946dc3e51c71d318f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"38a7f454a3e27e5946dc3e51c71d318f"} gateway-1 | {"time_local":"02/Apr/2025:18:04:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/65ca5686-59e6-4603-93fa-59390e3940ee HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.090","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"38a7f454a3e27e5946dc3e51c71d318f"} device-1 | {"level":"info","message":"PATCH /devices/65ca5686-59e6-4603-93fa-59390e3940ee 200 86ms","method":"PATCH","requestID":"38a7f454a3e27e5946dc3e51c71d318f","responseTime":86,"status":200,"url":"/devices/65ca5686-59e6-4603-93fa-59390e3940ee"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5NH0.yyq5J-h3sPSFzIYeXg5PkSel13nalh_FlqrrmOeEI2M","level":"info","message":"auth send jwt","requestID":"200ae78fcbafcc17092f07bb92c28bbd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"200ae78fcbafcc17092f07bb92c28bbd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"200ae78fcbafcc17092f07bb92c28bbd"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:54Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.714178,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"200ae78fcbafcc17092f07bb92c28bbd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617094,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5NH0.yyq5J-h3sPSFzIYeXg5PkSel13nalh_FlqrrmOeEI2M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"200ae78fcbafcc17092f07bb92c28bbd","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"200ae78fcbafcc17092f07bb92c28bbd"} gateway-1 | {"time_local":"02/Apr/2025:18:04:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/65ca5686-59e6-4603-93fa-59390e3940ee/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"200ae78fcbafcc17092f07bb92c28bbd"} device-1 | {"level":"info","message":"POST /devices/65ca5686-59e6-4603-93fa-59390e3940ee/websocket 200 39ms","method":"POST","requestID":"200ae78fcbafcc17092f07bb92c28bbd","responseTime":39,"status":200,"url":"/devices/65ca5686-59e6-4603-93fa-59390e3940ee/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fc18874009a8fbc9b3b1d7a00bb343b5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fc18874009a8fbc9b3b1d7a00bb343b5","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b860a858-1e22-4b73-8746-c412433d7aa2/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":"fc18874009a8fbc9b3b1d7a00bb343b5"} device-1 | {"level":"info","message":"OPTIONS /devices/b860a858-1e22-4b73-8746-c412433d7aa2/websocket 200 1ms","method":"OPTIONS","requestID":"fc18874009a8fbc9b3b1d7a00bb343b5","responseTime":1,"status":200,"url":"/devices/b860a858-1e22-4b73-8746-c412433d7aa2/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc","level":"info","message":"auth send jwt","requestID":"52ac069f6f3cdef861dbd089d884b4da"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"52ac069f6f3cdef861dbd089d884b4da"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"52ac069f6f3cdef861dbd089d884b4da","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.749136,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"52ac069f6f3cdef861dbd089d884b4da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617096,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"52ac069f6f3cdef861dbd089d884b4da","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"52ac069f6f3cdef861dbd089d884b4da"} device-1 | {"level":"info","message":"POST /devices/b860a858-1e22-4b73-8746-c412433d7aa2/websocket 200 16ms","method":"POST","requestID":"52ac069f6f3cdef861dbd089d884b4da","responseTime":16,"status":200,"url":"/devices/b860a858-1e22-4b73-8746-c412433d7aa2/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b860a858-1e22-4b73-8746-c412433d7aa2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"52ac069f6f3cdef861dbd089d884b4da"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc","level":"info","message":"auth send jwt","requestID":"ec924bc8c53a4bc93195d8302a45abce"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ec924bc8c53a4bc93195d8302a45abce","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ec924bc8c53a4bc93195d8302a45abce"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.781629,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ec924bc8c53a4bc93195d8302a45abce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617096,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ec924bc8c53a4bc93195d8302a45abce","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:53.802182552Z"}]},"request_id":"8a5a6c32-12c5-4ed7-ad06-2d78a27877d4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.3406389} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ec924bc8c53a4bc93195d8302a45abce","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ec924bc8c53a4bc93195d8302a45abce"} gateway-1 | {"time_local":"02/Apr/2025:18:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/65ca5686-59e6-4603-93fa-59390e3940ee? 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":"ec924bc8c53a4bc93195d8302a45abce"} device-1 | {"level":"info","message":"GET /devices/65ca5686-59e6-4603-93fa-59390e3940ee? 200 9ms","method":"GET","requestID":"ec924bc8c53a4bc93195d8302a45abce","responseTime":9,"status":200,"url":"/devices/65ca5686-59e6-4603-93fa-59390e3940ee?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc","level":"info","message":"auth send jwt","requestID":"7cbdb14473c2bb4561968c25c5f3fdac"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7cbdb14473c2bb4561968c25c5f3fdac","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7cbdb14473c2bb4561968c25c5f3fdac"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.5922,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7cbdb14473c2bb4561968c25c5f3fdac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617096,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7cbdb14473c2bb4561968c25c5f3fdac","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:53.895513496Z"}]},"request_id":"4cabcbf6-70d2-4785-b5ee-d64d85140059","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.3546798} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7cbdb14473c2bb4561968c25c5f3fdac","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7cbdb14473c2bb4561968c25c5f3fdac"} device-1 | {"level":"info","message":"GET /devices/b860a858-1e22-4b73-8746-c412433d7aa2? 200 10ms","method":"GET","requestID":"7cbdb14473c2bb4561968c25c5f3fdac","responseTime":10,"status":200,"url":"/devices/b860a858-1e22-4b73-8746-c412433d7aa2?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b860a858-1e22-4b73-8746-c412433d7aa2? 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":"7cbdb14473c2bb4561968c25c5f3fdac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc","level":"info","message":"auth send jwt","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.747008,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dc23ca842aa70a3d51a7dc05611fbf2c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617096,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Attempting to run experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Attempting to book experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Successfully booked experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc14de90-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc1505a0-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.760826,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fc14de90-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617096,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fc14de90-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677696,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fc1505a0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617096,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fc1505a0-0fec-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:53.802182552Z"}]},"request_id":"0442dd37-060e-4ffe-bfeb-d6ea986189fa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.4485872} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fc14de90-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:53.895513496Z"}]},"request_id":"c7deeadf-f089-44aa-a623-6766f70ed5e7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.4495893} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fc1505a0-0fec-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc14de90-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/65ca5686-59e6-4603-93fa-59390e3940ee? 200 12ms","method":"GET","requestID":"fc14de90-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/65ca5686-59e6-4603-93fa-59390e3940ee?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc1505a0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/b860a858-1e22-4b73-8746-c412433d7aa2? 200 12ms","method":"GET","requestID":"fc1505a0-0fec-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/b860a858-1e22-4b73-8746-c412433d7aa2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Setting up experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Successfully locked booking for experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Attempting to update booking for experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Successfully updated booking for experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Successfully set up experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc25a770-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc297800-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc29c620-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.931503,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Successfully running experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fc25a770-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617096,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fc25a770-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.875591,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fc297800-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617096,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fc297800-0fec-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:53.895513496Z"}]},"request_id":"17d28d1b-5984-449b-aadc-0520c2d1ace8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.5865872} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce20f77a-f9f3-4119-9687-accafacf2dc8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.5870626} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc297800-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"fc297800-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/b860a858-1e22-4b73-8746-c412433d7aa2? 200 16ms","method":"GET","requestID":"fc297800-0fec-11f0-b95a-67cf87457f46","responseTime":16,"status":200,"url":"/devices/b860a858-1e22-4b73-8746-c412433d7aa2?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:53.802182552Z"}]},"request_id":"5eba95c7-0fc9-42cc-be18-de810d6dc73a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.589102} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"fc25a770-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc25a770-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/65ca5686-59e6-4603-93fa-59390e3940ee? 200 48ms","method":"GET","requestID":"fc25a770-0fec-11f0-b95a-67cf87457f46","responseTime":48,"status":200,"url":"/devices/65ca5686-59e6-4603-93fa-59390e3940ee?"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.171278,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fc29c620-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 46ms","method":"POST","requestID":"fc29c620-0fec-11f0-b95a-67cf87457f46","responseTime":46,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ad4a57b-8028-4b34-81ed-29c6ff4cf756#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ad4a57b-8028-4b34-81ed-29c6ff4cf756","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"c349bbcd-1b6d-4799-be65-a89b92d3041f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.5955653} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc30f210-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b07b2e18-7f48-4654-ae80-bc68d138dd9f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.5966268} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c","responseTime":45,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1fefaf52-c4ea-4ba2-a544-6a5e53c83ede","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.6319525} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc29c620-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/65ca5686-59e6-4603-93fa-59390e3940ee/signaling 200 55ms","method":"POST","requestID":"fc29c620-0fec-11f0-b95a-67cf87457f46","responseTime":55,"status":200,"url":"/devices/65ca5686-59e6-4603-93fa-59390e3940ee/signaling"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.317157,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fc30f210-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","object_type":"device","rebac_allow":false,"scope_allow":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":"fc30f210-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 252ms","method":"POST","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c","responseTime":252,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.280","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc329fc0-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc","level":"info","message":"auth send jwt","requestID":"97faa0d9678ed9571a983744c6e34615"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"97faa0d9678ed9571a983744c6e34615","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc30f210-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/65ca5686-59e6-4603-93fa-59390e3940ee/signaling 200 19ms","method":"POST","requestID":"fc30f210-0fec-11f0-b95a-67cf87457f46","responseTime":19,"status":200,"url":"/devices/65ca5686-59e6-4603-93fa-59390e3940ee/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97faa0d9678ed9571a983744c6e34615"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc344d70-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:55602","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.839281,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"97faa0d9678ed9571a983744c6e34615","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617096,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"97faa0d9678ed9571a983744c6e34615","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":32.673362,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47397f0d-99ca-4fab-a019-e5d224afdefb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.6741343} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fc329fc0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"fc329fc0-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.029577,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3b4f397-3b30-4c7e-af82-94ee688f21eb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.675952} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fc344d70-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","object_type":"device","rebac_allow":false,"scope_allow":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":"fc344d70-0fec-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:53.802182552Z"}]},"request_id":"9fff0d17-9bf8-4824-8028-54410bce9d6c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.6882763} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"97faa0d9678ed9571a983744c6e34615","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc329fc0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b860a858-1e22-4b73-8746-c412433d7aa2/signaling 200 56ms","method":"POST","requestID":"fc329fc0-0fec-11f0-b95a-67cf87457f46","responseTime":56,"status":200,"url":"/devices/b860a858-1e22-4b73-8746-c412433d7aa2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc344d70-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b860a858-1e22-4b73-8746-c412433d7aa2/signaling 200 46ms","method":"POST","requestID":"fc344d70-0fec-11f0-b95a-67cf87457f46","responseTime":46,"status":200,"url":"/devices/b860a858-1e22-4b73-8746-c412433d7aa2/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Building connection plan","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} 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":"138a51bd-9e35-4711-b230-96bf9e52cef0"},{"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":"c6416d9e-3850-4cf5-85e7-c56df25af52f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"de4a4cf0-3d74-4059-856d-a81f2e82034a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} 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/65ca5686-59e6-4603-93fa-59390e3940ee"},{"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/b860a858-1e22-4b73-8746-c412433d7aa2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97faa0d9678ed9571a983744c6e34615"} device-1 | {"level":"info","message":"GET /devices/65ca5686-59e6-4603-93fa-59390e3940ee? 200 77ms","method":"GET","requestID":"97faa0d9678ed9571a983744c6e34615","responseTime":77,"status":200,"url":"/devices/65ca5686-59e6-4603-93fa-59390e3940ee?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"fc3fbf20-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} gateway-1 | {"time_local":"02/Apr/2025:18:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/65ca5686-59e6-4603-93fa-59390e3940ee? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.082","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97faa0d9678ed9571a983744c6e34615"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc","level":"info","message":"auth send jwt","requestID":"64912745b2f2790824623c25b0a0ae9b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"64912745b2f2790824623c25b0a0ae9b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"64912745b2f2790824623c25b0a0ae9b"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":2.508943,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fc3fbf20-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617096,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fc3fbf20-0fec-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.316886,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"64912745b2f2790824623c25b0a0ae9b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617096,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5Nn0.sg0Stit1i66aWBUOj0IV0ArW0M-qBqMX2hAGi6VgAdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"64912745b2f2790824623c25b0a0ae9b","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:04:53.895513496Z"}]},"request_id":"1294f0db-a39d-49a7-a121-d6b028bc9e57","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.7401772} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"64912745b2f2790824623c25b0a0ae9b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"64912745b2f2790824623c25b0a0ae9b"} device-1 | {"level":"info","message":"GET /devices/b860a858-1e22-4b73-8746-c412433d7aa2? 200 42ms","method":"GET","requestID":"64912745b2f2790824623c25b0a0ae9b","responseTime":42,"status":200,"url":"/devices/b860a858-1e22-4b73-8746-c412433d7aa2?"} gateway-1 | {"time_local":"02/Apr/2025:18:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b860a858-1e22-4b73-8746-c412433d7aa2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64912745b2f2790824623c25b0a0ae9b"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"49924468-0b2d-418a-a4c4-d4e833253d71","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.7718613} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"907e25bf-af7c-462f-9a08-da905d54682b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.7721274} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"fc3fbf20-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"fc3fbf20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"fc3fbf20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75'","requestID":"fc3fbf20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75'","requestID":"fc3fbf20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"fc3fbf20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 68ms","method":"POST","requestID":"fc3fbf20-0fec-11f0-b95a-67cf87457f46","responseTime":68,"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":"fc3fbf20-0fec-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75","device":"b860a858-1e22-4b73-8746-c412433d7aa2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc5961a0-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"dc23ca842aa70a3d51a7dc05611fbf2c"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.366573,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aab918bb-df14-4762-9acc-974588f1f8bc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.9202225} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fc5961a0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","object_type":"device","rebac_allow":false,"scope_allow":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":"fc5961a0-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc5961a0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/65ca5686-59e6-4603-93fa-59390e3940ee/signaling 200 36ms","method":"POST","requestID":"fc5961a0-0fec-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/65ca5686-59e6-4603-93fa-59390e3940ee/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc5f5510-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.977789,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:56Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d0833de-d0ac-4ce0-bba5-c31561c8b6ae","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617096.9347887} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fc5f5510-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","object_type":"device","rebac_allow":false,"scope_allow":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":"fc5f5510-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"device":"b860a858-1e22-4b73-8746-c412433d7aa2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b860a858-1e22-4b73-8746-c412433d7aa2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc5f5510-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b860a858-1e22-4b73-8746-c412433d7aa2/signaling 200 35ms","method":"POST","requestID":"fc5f5510-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/b860a858-1e22-4b73-8746-c412433d7aa2/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8686508897699795915 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:ypb3\r\na=ice-pwd:pEKPTYvbDrvG2oF09KH24PtK\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4D:58:4A:D5:6A:A0:8E:84:D7:7B:44:A3:7D:67:0F:2D:EA:55:D2:95:A7:5B:8C:18:5E:6B:96:47:DA:0E:B1:D1\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b860a858-1e22-4b73-8746-c412433d7aa2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"b860a858-1e22-4b73-8746-c412433d7aa2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"65ca5686-59e6-4603-93fa-59390e3940ee","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"65ca5686-59e6-4603-93fa-59390e3940ee","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"90f0974c-7e1b-4715-81ca-2d61ebf07d75","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"65ca5686-59e6-4603-93fa-59390e3940ee","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"65ca5686-59e6-4603-93fa-59390e3940ee","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"65ca5686-59e6-4603-93fa-59390e3940ee","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"90f0974c-7e1b-4715-81ca-2d61ebf07d75","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3fd944308c710cd194f2d5f612eb31ce","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3fd944308c710cd194f2d5f612eb31ce","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/65ca5686-59e6-4603-93fa-59390e3940ee"},{"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/b860a858-1e22-4b73-8746-c412433d7aa2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75"}}},"level":"info","message":"received a callback","requestID":"3fd944308c710cd194f2d5f612eb31ce"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"3fd944308c710cd194f2d5f612eb31ce","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"3fd944308c710cd194f2d5f612eb31ce"} device-1 | {"content":{"candidate":"candidate:1071718057 1 udp 2113937151 0936da84-9599-4f5f-a676-b4458f580890.local 52817 typ host generation 0 ufrag ypb3 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b860a858-1e22-4b73-8746-c412433d7aa2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"b860a858-1e22-4b73-8746-c412433d7aa2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"65ca5686-59e6-4603-93fa-59390e3940ee","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"65ca5686-59e6-4603-93fa-59390e3940ee","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b860a858-1e22-4b73-8746-c412433d7aa2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"90f0974c-7e1b-4715-81ca-2d61ebf07d75","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5OX0.ggJW2BEgsEIrEdH3T_LzSuAVYR8NqAgK8-6T5I5h8fI","level":"info","message":"auth send jwt","requestID":"1629ce5db7625fd7fbb7d6842198741c"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","requestID":"1629ce5db7625fd7fbb7d6842198741c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1629ce5db7625fd7fbb7d6842198741c","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.955994,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1629ce5db7625fd7fbb7d6842198741c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617099,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5OX0.ggJW2BEgsEIrEdH3T_LzSuAVYR8NqAgK8-6T5I5h8fI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1629ce5db7625fd7fbb7d6842198741c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"peerconnection":"90f0974c-7e1b-4715-81ca-2d61ebf07d75","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","requestID":"1629ce5db7625fd7fbb7d6842198741c"} experiment-1 | {"level":"info","message":"GET /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756 200 12ms","method":"GET","requestID":"1629ce5db7625fd7fbb7d6842198741c","responseTime":12,"status":200,"url":"/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"} gateway-1 | {"time_local":"02/Apr/2025:18:04:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1629ce5db7625fd7fbb7d6842198741c"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"90f0974c-7e1b-4715-81ca-2d61ebf07d75","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dba27da0b0e400d11fce1819b084601c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee"},{"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/b860a858-1e22-4b73-8746-c412433d7aa2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75"}}},"level":"info","message":"received a callback","requestID":"dba27da0b0e400d11fce1819b084601c"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dba27da0b0e400d11fce1819b084601c","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5OX0.ggJW2BEgsEIrEdH3T_LzSuAVYR8NqAgK8-6T5I5h8fI","level":"info","message":"auth send jwt","requestID":"4f41823d68da701b73ef631df8b787f2"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"4f41823d68da701b73ef631df8b787f2","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"fdc526a0-0fec-11f0-b95a-67cf87457f46"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","requestID":"4f41823d68da701b73ef631df8b787f2"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.90371,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.155882,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F90f0974c-7e1b-4715-81ca-2d61ebf07d75","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab97b491-358e-475d-9246-5904a6e227d9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617099.278992} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4f41823d68da701b73ef631df8b787f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617099,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5OX0.ggJW2BEgsEIrEdH3T_LzSuAVYR8NqAgK8-6T5I5h8fI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4f41823d68da701b73ef631df8b787f2","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fdc526a0-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"fdc526a0-0fec-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","requestID":"4f41823d68da701b73ef631df8b787f2"} experiment-1 | {"level":"info","message":"GET /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756 200 42ms","method":"GET","requestID":"4f41823d68da701b73ef631df8b787f2","responseTime":42,"status":200,"url":"/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"} gateway-1 | {"time_local":"02/Apr/2025:18:04:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.078","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f41823d68da701b73ef631df8b787f2"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"fdc526a0-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75 200 101ms","method":"GET","requestID":"fdc526a0-0fec-11f0-b95a-67cf87457f46","responseTime":101,"status":200,"url":"/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5OX0.ggJW2BEgsEIrEdH3T_LzSuAVYR8NqAgK8-6T5I5h8fI","level":"info","message":"auth send jwt","requestID":"20980e60723add6599b2189ccc10c532"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"20980e60723add6599b2189ccc10c532","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","requestID":"20980e60723add6599b2189ccc10c532"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.86934,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"20980e60723add6599b2189ccc10c532","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617099,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5OX0.ggJW2BEgsEIrEdH3T_LzSuAVYR8NqAgK8-6T5I5h8fI"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"20980e60723add6599b2189ccc10c532","responseTime":32,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 275ms","method":"POST","requestID":"dba27da0b0e400d11fce1819b084601c","responseTime":275,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:04: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.278","http_referrer":"","http_user_agent":"node-fetch","requestID":"dba27da0b0e400d11fce1819b084601c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fde99e90-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:59Z"} gateway-1 | {"time_local":"02/Apr/2025:18:04:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"20980e60723add6599b2189ccc10c532"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","requestID":"20980e60723add6599b2189ccc10c532"} experiment-1 | {"level":"info","message":"GET /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756 200 87ms","method":"GET","requestID":"20980e60723add6599b2189ccc10c532","responseTime":87,"status":200,"url":"/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a57594f1-ee5f-4d47-9c89-0c7e5b293fce","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617099.5194855} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.22048,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:59Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5OX0.ggJW2BEgsEIrEdH3T_LzSuAVYR8NqAgK8-6T5I5h8fI","level":"info","message":"auth send jwt","requestID":"adc956bacfa0f97e0dba8cd0791c4a4c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fde99e90-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","object_type":"device","rebac_allow":false,"scope_allow":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":"fde99e90-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","requestID":"adc956bacfa0f97e0dba8cd0791c4a4c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fde99e90-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/65ca5686-59e6-4603-93fa-59390e3940ee/signaling 200 14ms","method":"POST","requestID":"fde99e90-0fec-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/65ca5686-59e6-4603-93fa-59390e3940ee/signaling"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.049848,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"adc956bacfa0f97e0dba8cd0791c4a4c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617099,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5OX0.ggJW2BEgsEIrEdH3T_LzSuAVYR8NqAgK8-6T5I5h8fI"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"adc956bacfa0f97e0dba8cd0791c4a4c","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fdefe020-0fec-11f0-b95a-67cf87457f46"} authentication-1 | {"level":"info","message":"GET /auth 200 37ms","method":"GET","requestID":"adc956bacfa0f97e0dba8cd0791c4a4c","responseTime":37,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8390c29d-b734-41d5-881b-ed12df042b85","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617099.5644987} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.405924,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fdefe020-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","object_type":"device","rebac_allow":false,"scope_allow":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":"fdefe020-0fec-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Attempting to finish experiment","requestID":"adc956bacfa0f97e0dba8cd0791c4a4c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fdefe020-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b860a858-1e22-4b73-8746-c412433d7aa2/signaling 200 16ms","method":"POST","requestID":"fdefe020-0fec-11f0-b95a-67cf87457f46","responseTime":16,"status":200,"url":"/devices/b860a858-1e22-4b73-8746-c412433d7aa2/signaling"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"fdf31470-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.984584,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fdf31470-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617099,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzA5OX0.ggJW2BEgsEIrEdH3T_LzSuAVYR8NqAgK8-6T5I5h8fI"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"fdf31470-0fec-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75","device":"b860a858-1e22-4b73-8746-c412433d7aa2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"65ca5686-59e6-4603-93fa-59390e3940ee","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"65ca5686-59e6-4603-93fa-59390e3940ee","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"65ca5686-59e6-4603-93fa-59390e3940ee","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F90f0974c-7e1b-4715-81ca-2d61ebf07d75': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F90f0974c-7e1b-4715-81ca-2d61ebf07d75","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"6098454e-81e0-4b1e-8385-5b653d9a253e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617099.6599202} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c6a7fc6c-d1b7-4651-a52e-a1b3d7935a1a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617099.6611931} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"fdf31470-0fec-11f0-b95a-67cf87457f46","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"90f0974c-7e1b-4715-81ca-2d61ebf07d75","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5ac45797c91456f69765cbc8637f9289","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5ac45797c91456f69765cbc8637f9289","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee"},{"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/b860a858-1e22-4b73-8746-c412433d7aa2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75"}}},"level":"info","message":"received a callback","requestID":"5ac45797c91456f69765cbc8637f9289"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2971749f66e731ae15c6636a900d3296","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2971749f66e731ae15c6636a900d3296","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"fdf31470-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75 204 131ms","method":"DELETE","requestID":"fdf31470-0fec-11f0-b95a-67cf87457f46","responseTime":131,"status":204,"url":"/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75"} 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/65ca5686-59e6-4603-93fa-59390e3940ee"},{"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/b860a858-1e22-4b73-8746-c412433d7aa2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/90f0974c-7e1b-4715-81ca-2d61ebf07d75"}}},"level":"info","message":"received a callback","requestID":"2971749f66e731ae15c6636a900d3296"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"},"level":"info","message":"Successfully finished experiment","requestID":"adc956bacfa0f97e0dba8cd0791c4a4c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe1e6a30-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65ca5686-59e6-4603-93fa-59390e3940ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f7e361b-c79b-439c-828e-20fb58924bd4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617099.8894384} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.853163,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fe1e6a30-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65ca5686-59e6-4603-93fa-59390e3940ee","object_type":"device","rebac_allow":false,"scope_allow":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":"fe1e6a30-0fec-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe1e6a30-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/65ca5686-59e6-4603-93fa-59390e3940ee/signaling 200 35ms","method":"POST","requestID":"fe1e6a30-0fec-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/65ca5686-59e6-4603-93fa-59390e3940ee/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe240f80-0fec-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb860a858-1e22-4b73-8746-c412433d7aa2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e969a6d-a72a-4a33-b255-bb032cc3e108","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617099.9003832} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.478893,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:04:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fe240f80-0fec-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe240f80-0fec-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe240f80-0fec-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b860a858-1e22-4b73-8746-c412433d7aa2/signaling 200 8ms","method":"POST","requestID":"fe240f80-0fec-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/b860a858-1e22-4b73-8746-c412433d7aa2/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ad4a57b-8028-4b34-81ed-29c6ff4cf756': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ad4a57b-8028-4b34-81ed-29c6ff4cf756","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"c99f9c69-eae5-42ab-b4c9-24a9543d3b9e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617099.9974} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"734829b8-96eb-4f30-b213-bd65346ee5fb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617099.9976358} authorization-1 | {"level":"info","message":"POST /relations/update 200 141ms","method":"POST","requestID":"adc956bacfa0f97e0dba8cd0791c4a4c","responseTime":141,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756","requestID":"adc956bacfa0f97e0dba8cd0791c4a4c"} gateway-1 | {"time_local":"02/Apr/2025:18:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"adc956bacfa0f97e0dba8cd0791c4a4c"} experiment-1 | {"level":"info","message":"DELETE /experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756 204 1172ms","method":"DELETE","requestID":"adc956bacfa0f97e0dba8cd0791c4a4c","responseTime":1172,"status":204,"url":"/experiments/3ad4a57b-8028-4b34-81ed-29c6ff4cf756"} gateway-1 | {"time_local":"02/Apr/2025:18:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"5.693","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"4483676bb859c40546706b6dbcd921e3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1000ms","method":"POST","requestID":"5ac45797c91456f69765cbc8637f9289","responseTime":1000,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ac45797c91456f69765cbc8637f9289"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 985ms","method":"POST","requestID":"2971749f66e731ae15c6636a900d3296","responseTime":985,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.994","http_referrer":"","http_user_agent":"node-fetch","requestID":"2971749f66e731ae15c6636a900d3296"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwMH0.Nb6xw7tL4LOpHLCDh29W8cyaDm-ZR-atuChrsk-lOMk","level":"info","message":"auth send jwt","requestID":"9616b783e183e5ca8b8003d66559586b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9616b783e183e5ca8b8003d66559586b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9616b783e183e5ca8b8003d66559586b"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:00Z"} gateway-1 | {"time_local":"02/Apr/2025:18:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2358","request_time":"4.383","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"63dd80de2ea245cad4f5604717072a69"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.995206,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:00Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b860a858-1e22-4b73-8746-c412433d7aa2' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"9616b783e183e5ca8b8003d66559586b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617100,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwMH0.Nb6xw7tL4LOpHLCDh29W8cyaDm-ZR-atuChrsk-lOMk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9616b783e183e5ca8b8003d66559586b","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/65ca5686-59e6-4603-93fa-59390e3940ee' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b69c8322-eb0b-4291-bbae-ee0646225d79","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617100.9520862} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9616b783e183e5ca8b8003d66559586b","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7fac0232-d7a9-4e8c-a587-8ced7297976e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617100.9567797} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"9616b783e183e5ca8b8003d66559586b","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"909623d7-1042-4302-8afe-21e50d8f5fde","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617101.0603147} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16ffe64e-7870-42b3-9aa1-76763d7965f7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617101.0605462} authorization-1 | {"level":"info","message":"POST /relations/update 200 105ms","method":"POST","requestID":"9616b783e183e5ca8b8003d66559586b","responseTime":105,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:01.060281820Z"}]},"request_id":"907364e2-076a-4696-8c59-aac83a8ccc4b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617101.0642762} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9616b783e183e5ca8b8003d66559586b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9616b783e183e5ca8b8003d66559586b"} device-1 | {"level":"info","message":"POST /devices? 201 365ms","method":"POST","requestID":"9616b783e183e5ca8b8003d66559586b","responseTime":365,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:05:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.371","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9616b783e183e5ca8b8003d66559586b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwMX0.6-B5koTHypoXSNbqdOOzRJ2eQUwoI3LfBDeoEMCyfwc","level":"info","message":"auth send jwt","requestID":"cd2e5ca4911d8eb5f98367d9ac9e2aa4"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"cd2e5ca4911d8eb5f98367d9ac9e2aa4","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"cd2e5ca4911d8eb5f98367d9ac9e2aa4"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:01Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.656645,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cd2e5ca4911d8eb5f98367d9ac9e2aa4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617101,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwMX0.6-B5koTHypoXSNbqdOOzRJ2eQUwoI3LfBDeoEMCyfwc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cd2e5ca4911d8eb5f98367d9ac9e2aa4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"10f4617d-97fd-4904-8186-8850b5ee2624","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617101.1883826} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cd2e5ca4911d8eb5f98367d9ac9e2aa4","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a76171a-3801-440b-965d-47fd031de658","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617101.1928334} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"cd2e5ca4911d8eb5f98367d9ac9e2aa4","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"6f665e5f-ff2d-47ab-9a1d-14a7d625c538","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617101.2866356} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab939534-eb6a-4c99-af3d-73a2b8ce821c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617101.287017} authorization-1 | {"level":"info","message":"POST /relations/update 200 96ms","method":"POST","requestID":"cd2e5ca4911d8eb5f98367d9ac9e2aa4","responseTime":96,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:01.286590158Z"}]},"request_id":"a570668c-f454-4998-a1b0-658e4b9c2917","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617101.2911994} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cd2e5ca4911d8eb5f98367d9ac9e2aa4","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cd2e5ca4911d8eb5f98367d9ac9e2aa4"} gateway-1 | {"time_local":"02/Apr/2025:18:05:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.225","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cd2e5ca4911d8eb5f98367d9ac9e2aa4"} device-1 | {"level":"info","message":"POST /devices? 201 198ms","method":"POST","requestID":"cd2e5ca4911d8eb5f98367d9ac9e2aa4","responseTime":198,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwMn0.2uDLwAgoqFNFZW__eIlGufO_uja0xFuuOLeWJOI6bu4","level":"info","message":"auth send jwt","requestID":"8ca0741ee9f3fc299a2579da7b8d12cd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8ca0741ee9f3fc299a2579da7b8d12cd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8ca0741ee9f3fc299a2579da7b8d12cd"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673064,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"8ca0741ee9f3fc299a2579da7b8d12cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617102,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwMn0.2uDLwAgoqFNFZW__eIlGufO_uja0xFuuOLeWJOI6bu4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8ca0741ee9f3fc299a2579da7b8d12cd","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:01.060281820Z"}]},"request_id":"2503690f-cadc-417b-b8bd-38b6f77a534b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617102.3003168} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8ca0741ee9f3fc299a2579da7b8d12cd","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2aaf78b2-a544-432e-924e-55498bcb7579","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617102.3042543} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8ca0741ee9f3fc299a2579da7b8d12cd","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:01.060281820Z"}]},"request_id":"2bae1fe3-df03-47e2-83db-f078687a8800","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617102.350663} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8ca0741ee9f3fc299a2579da7b8d12cd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8ca0741ee9f3fc299a2579da7b8d12cd"} gateway-1 | {"time_local":"02/Apr/2025:18:05:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.064","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"8ca0741ee9f3fc299a2579da7b8d12cd"} device-1 | {"level":"info","message":"PATCH /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222 200 60ms","method":"PATCH","requestID":"8ca0741ee9f3fc299a2579da7b8d12cd","responseTime":60,"status":200,"url":"/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwMn0.2uDLwAgoqFNFZW__eIlGufO_uja0xFuuOLeWJOI6bu4","level":"info","message":"auth send jwt","requestID":"921501b2e25a81a71d8099ecf62a1778"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"921501b2e25a81a71d8099ecf62a1778","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"921501b2e25a81a71d8099ecf62a1778"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891709,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"921501b2e25a81a71d8099ecf62a1778","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617102,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwMn0.2uDLwAgoqFNFZW__eIlGufO_uja0xFuuOLeWJOI6bu4"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"921501b2e25a81a71d8099ecf62a1778","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"921501b2e25a81a71d8099ecf62a1778"} gateway-1 | {"time_local":"02/Apr/2025:18:05:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"921501b2e25a81a71d8099ecf62a1778"} device-1 | {"level":"info","message":"POST /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222/websocket 200 38ms","method":"POST","requestID":"921501b2e25a81a71d8099ecf62a1778","responseTime":38,"status":200,"url":"/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"90541d79684e715b3d077397c575fe22","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"90541d79684e715b3d077397c575fe22","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/29855bb6-1fef-4f62-beb3-ec563f480e04/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":"90541d79684e715b3d077397c575fe22"} device-1 | {"level":"info","message":"OPTIONS /devices/29855bb6-1fef-4f62-beb3-ec563f480e04/websocket 200 1ms","method":"OPTIONS","requestID":"90541d79684e715b3d077397c575fe22","responseTime":1,"status":200,"url":"/devices/29855bb6-1fef-4f62-beb3-ec563f480e04/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwM30.0ltx0_lPreg4PgNXO6TKxs8WtJxBTKaiKhDj5fNcWbI","level":"info","message":"auth send jwt","requestID":"08e33075951132d5eff0a894e4a05b3d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"08e33075951132d5eff0a894e4a05b3d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"08e33075951132d5eff0a894e4a05b3d"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:03Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656758,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"08e33075951132d5eff0a894e4a05b3d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617103,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwM30.0ltx0_lPreg4PgNXO6TKxs8WtJxBTKaiKhDj5fNcWbI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"08e33075951132d5eff0a894e4a05b3d","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"08e33075951132d5eff0a894e4a05b3d"} gateway-1 | {"time_local":"02/Apr/2025:18:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/29855bb6-1fef-4f62-beb3-ec563f480e04/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.053","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"08e33075951132d5eff0a894e4a05b3d"} device-1 | {"level":"info","message":"POST /devices/29855bb6-1fef-4f62-beb3-ec563f480e04/websocket 200 50ms","method":"POST","requestID":"08e33075951132d5eff0a894e4a05b3d","responseTime":50,"status":200,"url":"/devices/29855bb6-1fef-4f62-beb3-ec563f480e04/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwM30.0ltx0_lPreg4PgNXO6TKxs8WtJxBTKaiKhDj5fNcWbI","level":"info","message":"auth send jwt","requestID":"3a34529a6ec79199d3052f2c4eb96e4c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3a34529a6ec79199d3052f2c4eb96e4c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3a34529a6ec79199d3052f2c4eb96e4c"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:03Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660071,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"3a34529a6ec79199d3052f2c4eb96e4c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617103,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwM30.0ltx0_lPreg4PgNXO6TKxs8WtJxBTKaiKhDj5fNcWbI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3a34529a6ec79199d3052f2c4eb96e4c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:01.060281820Z"}]},"request_id":"cbede064-1c2b-4b40-8d66-8a47720e38f1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617103.8439364} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3a34529a6ec79199d3052f2c4eb96e4c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3a34529a6ec79199d3052f2c4eb96e4c"} gateway-1 | {"time_local":"02/Apr/2025:18:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222? 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":"3a34529a6ec79199d3052f2c4eb96e4c"} device-1 | {"level":"info","message":"GET /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222? 200 10ms","method":"GET","requestID":"3a34529a6ec79199d3052f2c4eb96e4c","responseTime":10,"status":200,"url":"/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwM30.0ltx0_lPreg4PgNXO6TKxs8WtJxBTKaiKhDj5fNcWbI","level":"info","message":"auth send jwt","requestID":"554bd99adc95a468a7b170e2cbe8b4ca"} authentication-1 | {"level":"info","message":"GET /auth 200 30ms","method":"GET","requestID":"554bd99adc95a468a7b170e2cbe8b4ca","responseTime":30,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"554bd99adc95a468a7b170e2cbe8b4ca"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:03Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.841905,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"554bd99adc95a468a7b170e2cbe8b4ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617103,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwM30.0ltx0_lPreg4PgNXO6TKxs8WtJxBTKaiKhDj5fNcWbI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"554bd99adc95a468a7b170e2cbe8b4ca","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:01.286590158Z"}]},"request_id":"91556120-0ee4-47bf-b35a-6298622f36a6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617103.885126} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"554bd99adc95a468a7b170e2cbe8b4ca","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"554bd99adc95a468a7b170e2cbe8b4ca"} gateway-1 | {"time_local":"02/Apr/2025:18:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/29855bb6-1fef-4f62-beb3-ec563f480e04? 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":"554bd99adc95a468a7b170e2cbe8b4ca"} device-1 | {"level":"info","message":"GET /devices/29855bb6-1fef-4f62-beb3-ec563f480e04? 200 8ms","method":"GET","requestID":"554bd99adc95a468a7b170e2cbe8b4ca","responseTime":8,"status":200,"url":"/devices/29855bb6-1fef-4f62-beb3-ec563f480e04?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwM30.0ltx0_lPreg4PgNXO6TKxs8WtJxBTKaiKhDj5fNcWbI","level":"info","message":"auth send jwt","requestID":"f917eb43574851c8de3529a35e7d7e5a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f917eb43574851c8de3529a35e7d7e5a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"f917eb43574851c8de3529a35e7d7e5a"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:03Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.643957,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f917eb43574851c8de3529a35e7d7e5a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617103,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwM30.0ltx0_lPreg4PgNXO6TKxs8WtJxBTKaiKhDj5fNcWbI"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"f917eb43574851c8de3529a35e7d7e5a","responseTime":26,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Attempting to run experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Attempting to book experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Successfully booked experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0098e010-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"00990720-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.603837,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0098e010-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617103,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwM30.0ltx0_lPreg4PgNXO6TKxs8WtJxBTKaiKhDj5fNcWbI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0098e010-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686377,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"00990720-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617103,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwM30.0ltx0_lPreg4PgNXO6TKxs8WtJxBTKaiKhDj5fNcWbI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"00990720-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:01.060281820Z"}]},"request_id":"52a95641-a4d8-4b62-93c9-cc3bc3c06ce0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.025016} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0098e010-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:01.286590158Z"}]},"request_id":"8b831aed-63eb-4c4c-bac9-df850d77b8c8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.0259936} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"00990720-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0098e010-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222? 200 13ms","method":"GET","requestID":"0098e010-0fed-11f0-b95a-67cf87457f46","responseTime":13,"status":200,"url":"/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"00990720-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/29855bb6-1fef-4f62-beb3-ec563f480e04? 200 12ms","method":"GET","requestID":"00990720-0fed-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/29855bb6-1fef-4f62-beb3-ec563f480e04?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Setting up experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Successfully set up experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"00a933c0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"00a95ad0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00a981e0-0fed-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Successfully running experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918315,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.558597,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"00a933c0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617103,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwM30.0ltx0_lPreg4PgNXO6TKxs8WtJxBTKaiKhDj5fNcWbI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"00a933c0-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"00a95ad0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617103,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwM30.0ltx0_lPreg4PgNXO6TKxs8WtJxBTKaiKhDj5fNcWbI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"00a95ad0-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.921427,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7c7b1f8-d885-4f29-b3e2-8a300421ba09","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.133026} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"00a981e0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"00a981e0-0fed-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:01.286590158Z"}]},"request_id":"366d602b-b3d6-4597-baea-3642cc07977e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.1633236} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"00a95ad0-0fed-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00a981e0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222/signaling 200 46ms","method":"POST","requestID":"00a981e0-0fed-11f0-b95a-67cf87457f46","responseTime":46,"status":200,"url":"/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222/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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:01.060281820Z"}]},"request_id":"717b12fc-dfa3-445b-bf59-707dd2910717","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.1667047} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb01bf43d-ea80-4101-9c9b-57fddb609c4b#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb01bf43d-ea80-4101-9c9b-57fddb609c4b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"838acdea-e164-41cc-ad55-ce3f645c3c8f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.1717482} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ba56dfe-90da-435d-a888-e57236080908","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.1724796} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"00a933c0-0fed-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00b0d4e0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"00a95ad0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/29855bb6-1fef-4f62-beb3-ec563f480e04? 200 51ms","method":"GET","requestID":"00a95ad0-0fed-11f0-b95a-67cf87457f46","responseTime":51,"status":200,"url":"/devices/29855bb6-1fef-4f62-beb3-ec563f480e04?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"f917eb43574851c8de3529a35e7d7e5a","responseTime":46,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"f917eb43574851c8de3529a35e7d7e5a"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.43372,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:04Z"} gateway-1 | {"time_local":"02/Apr/2025:18:05:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.295","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f917eb43574851c8de3529a35e7d7e5a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 316ms","method":"POST","requestID":"f917eb43574851c8de3529a35e7d7e5a","responseTime":316,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c507b55-a9a8-4849-9125-e3d882f8642e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.1812034} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"00b0d4e0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","object_type":"device","rebac_allow":false,"scope_allow":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":"00b0d4e0-0fed-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwNH0.4IvXRhfYlvJQN9TC7Q4hTNwvztiM76GDNszAds421AY","level":"info","message":"auth send jwt","requestID":"f73a12491819dfe3e943aa3252597303"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f73a12491819dfe3e943aa3252597303","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"00a933c0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222? 200 91ms","method":"GET","requestID":"00a933c0-0fed-11f0-b95a-67cf87457f46","responseTime":91,"status":200,"url":"/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f73a12491819dfe3e943aa3252597303"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00b78ba0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00b0d4e0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/29855bb6-1fef-4f62-beb3-ec563f480e04/signaling 200 46ms","method":"POST","requestID":"00b0d4e0-0fed-11f0-b95a-67cf87457f46","responseTime":46,"status":200,"url":"/devices/29855bb6-1fef-4f62-beb3-ec563f480e04/signaling"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.017086,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f73a12491819dfe3e943aa3252597303","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617104,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwNH0.4IvXRhfYlvJQN9TC7Q4hTNwvztiM76GDNszAds421AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"f73a12491819dfe3e943aa3252597303","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"923bde79-742f-4c65-a162-f39e489493b3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.228155} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.928665,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"00b78ba0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"00b78ba0-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00b78ba0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:01.060281820Z"}]},"request_id":"6ff73a73-e4a1-401a-b66a-a380aac56084","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.2571921} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"f73a12491819dfe3e943aa3252597303","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222/signaling 200 40ms","method":"POST","requestID":"00b78ba0-0fed-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00bdcd30-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:04Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f73a12491819dfe3e943aa3252597303"} gateway-1 | {"time_local":"02/Apr/2025:18:05:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f73a12491819dfe3e943aa3252597303"} device-1 | {"level":"info","message":"GET /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222? 200 46ms","method":"GET","requestID":"f73a12491819dfe3e943aa3252597303","responseTime":46,"status":200,"url":"/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad0acb25-f95a-4d64-90f6-6ad57976a3b4","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.2630005} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.683677,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"00bdcd30-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"00bdcd30-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwNH0.4IvXRhfYlvJQN9TC7Q4hTNwvztiM76GDNszAds421AY","level":"info","message":"auth send jwt","requestID":"f73ccc34a8d0f8a7c4adc8b4240a4e82"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f73ccc34a8d0f8a7c4adc8b4240a4e82","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00bdcd30-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/29855bb6-1fef-4f62-beb3-ec563f480e04/signaling 200 8ms","method":"POST","requestID":"00bdcd30-0fed-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/29855bb6-1fef-4f62-beb3-ec563f480e04/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f73ccc34a8d0f8a7c4adc8b4240a4e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Building connection plan","requestID":"f917eb43574851c8de3529a35e7d7e5a"} 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":"1fbb9137-7df3-40c5-af21-2f4f480adb3d"},{"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":"38ee690f-07dc-4327-b7d6-09e91040d5ac"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"49b882f1-c670-425c-892e-401fbe4e23ef"}]},"level":"info","message":"Built pairwise service configurations","requestID":"f917eb43574851c8de3529a35e7d7e5a"} 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/29855bb6-1fef-4f62-beb3-ec563f480e04"},{"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/1a51edd3-7584-417d-a2d9-b79fe9e43222"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"f917eb43574851c8de3529a35e7d7e5a"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:04Z"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"00bf7ae0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.812761,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f73ccc34a8d0f8a7c4adc8b4240a4e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617104,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwNH0.4IvXRhfYlvJQN9TC7Q4hTNwvztiM76GDNszAds421AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f73ccc34a8d0f8a7c4adc8b4240a4e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.679757,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"00bf7ae0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617103,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwM30.0ltx0_lPreg4PgNXO6TKxs8WtJxBTKaiKhDj5fNcWbI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"00bf7ae0-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:01.286590158Z"}]},"request_id":"09cb2ed7-9e5b-48f3-9623-f6314a658d6f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.2740278} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f73ccc34a8d0f8a7c4adc8b4240a4e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f73ccc34a8d0f8a7c4adc8b4240a4e82"} gateway-1 | {"time_local":"02/Apr/2025:18:05:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/29855bb6-1fef-4f62-beb3-ec563f480e04? 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":"f73ccc34a8d0f8a7c4adc8b4240a4e82"} device-1 | {"level":"info","message":"GET /devices/29855bb6-1fef-4f62-beb3-ec563f480e04? 200 11ms","method":"GET","requestID":"f73ccc34a8d0f8a7c4adc8b4240a4e82","responseTime":11,"status":200,"url":"/devices/29855bb6-1fef-4f62-beb3-ec563f480e04?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"b4868098-0e97-4d12-8c1f-fe83496bf202","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.3073356} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1554ce0-c1e5-4150-8123-0c8a9d9f4e21","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.307567} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"00bf7ae0-0fed-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"00bf7ae0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"00bf7ae0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539'","requestID":"00bf7ae0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539'","requestID":"00bf7ae0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"00bf7ae0-0fed-11f0-b95a-67cf87457f46"} 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":"00bf7ae0-0fed-11f0-b95a-67cf87457f46","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":"00bf7ae0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539","device":"29855bb6-1fef-4f62-beb3-ec563f480e04","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"f917eb43574851c8de3529a35e7d7e5a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00d3ed40-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"131dbb37-65a2-4535-ad75-c95b972dfd28","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.4083738} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.244823,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"00d3ed40-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"00d3ed40-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00d3ed40-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222/signaling 200 8ms","method":"POST","requestID":"00d3ed40-0fed-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00d54cd0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db56bd72-2c26-4d6b-b153-a98a28d9977e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617104.4180982} device-1 | {"device":"29855bb6-1fef-4f62-beb3-ec563f480e04","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"29855bb6-1fef-4f62-beb3-ec563f480e04","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.782678,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"00d54cd0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"00d54cd0-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00d54cd0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/29855bb6-1fef-4f62-beb3-ec563f480e04/signaling 200 9ms","method":"POST","requestID":"00d54cd0-0fed-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/29855bb6-1fef-4f62-beb3-ec563f480e04/signaling"} device-1 | {"device":"1a51edd3-7584-417d-a2d9-b79fe9e43222","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"1aa28864-a197-4817-b3c0-d8aee1608539","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 2284601273375914503 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:89oe\r\na=ice-pwd:yrxUkwqzNBSZpu1W5RMq/l0O\r\na=ice-options:trickle\r\na=fingerprint:sha-256 39:FF:51:97:90:85:5E:31:88:2B:0B:2A:90:6F:78:88:6B:94:51:FB:26:23:06:BE:DD:42:FB:46:CF:F2:82:78\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"29855bb6-1fef-4f62-beb3-ec563f480e04","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:4248478625 1 udp 2113937151 192e5703-3a15-481c-8cf2-346b6a479d8d.local 56391 typ host generation 0 ufrag 89oe network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"29855bb6-1fef-4f62-beb3-ec563f480e04","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"29855bb6-1fef-4f62-beb3-ec563f480e04","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/1aa28864-a197-4817-b3c0-d8aee1608539' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1aa28864-a197-4817-b3c0-d8aee1608539","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1a51edd3-7584-417d-a2d9-b79fe9e43222","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1a51edd3-7584-417d-a2d9-b79fe9e43222","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1a51edd3-7584-417d-a2d9-b79fe9e43222","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"29855bb6-1fef-4f62-beb3-ec563f480e04","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"79562b4d723b571d6f7d209c9f948934","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"1a51edd3-7584-417d-a2d9-b79fe9e43222","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"79562b4d723b571d6f7d209c9f948934","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/29855bb6-1fef-4f62-beb3-ec563f480e04"},{"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/1a51edd3-7584-417d-a2d9-b79fe9e43222"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539"}}},"level":"info","message":"received a callback","requestID":"79562b4d723b571d6f7d209c9f948934"} device-1 | {"device":"29855bb6-1fef-4f62-beb3-ec563f480e04","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"1a51edd3-7584-417d-a2d9-b79fe9e43222","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"79562b4d723b571d6f7d209c9f948934","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"79562b4d723b571d6f7d209c9f948934"} device-1 | {"device":"29855bb6-1fef-4f62-beb3-ec563f480e04","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"1aa28864-a197-4817-b3c0-d8aee1608539","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"1aa28864-a197-4817-b3c0-d8aee1608539","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/1aa28864-a197-4817-b3c0-d8aee1608539' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1aa28864-a197-4817-b3c0-d8aee1608539","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"24c0a21eefa10d79f5f8644f64775e8b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"24c0a21eefa10d79f5f8644f64775e8b","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/29855bb6-1fef-4f62-beb3-ec563f480e04"},{"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/1a51edd3-7584-417d-a2d9-b79fe9e43222"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539"}}},"level":"info","message":"received a callback","requestID":"24c0a21eefa10d79f5f8644f64775e8b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"0215e320-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1aa28864-a197-4817-b3c0-d8aee1608539","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"265fc39b-e3aa-4e67-8ce5-e2809e5648fa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.5181446} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.386097,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0215e320-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539","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":"0215e320-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"0215e320-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539 200 7ms","method":"GET","requestID":"0215e320-0fed-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"24c0a21eefa10d79f5f8644f64775e8b","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05: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.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"24c0a21eefa10d79f5f8644f64775e8b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"021d0f10-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f0c50ba-dba1-4000-94fb-a098af022dfa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.5650594} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwNn0.lyZmECX0gKBKWqd3fnwyWwIgIVdSeblzwI3gmXeCM0o","level":"info","message":"auth send jwt","requestID":"708f76593e3b5f11046e309b2ce9b9df"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"708f76593e3b5f11046e309b2ce9b9df","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.584607,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"021d0f10-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b","requestID":"708f76593e3b5f11046e309b2ce9b9df"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"021d0f10-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:06Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"021d0f10-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.802314,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"708f76593e3b5f11046e309b2ce9b9df","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617106,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwNn0.lyZmECX0gKBKWqd3fnwyWwIgIVdSeblzwI3gmXeCM0o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"708f76593e3b5f11046e309b2ce9b9df","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/29855bb6-1fef-4f62-beb3-ec563f480e04/signaling 200 9ms","method":"POST","requestID":"021d0f10-0fed-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/29855bb6-1fef-4f62-beb3-ec563f480e04/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"021ebcc0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:06Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b","requestID":"708f76593e3b5f11046e309b2ce9b9df"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d9f09b4-cb62-4442-b83e-293d1e0ad31f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.5774097} gateway-1 | {"time_local":"02/Apr/2025:18:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b 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":"708f76593e3b5f11046e309b2ce9b9df"} experiment-1 | {"level":"info","message":"GET /experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b 200 11ms","method":"GET","requestID":"708f76593e3b5f11046e309b2ce9b9df","responseTime":11,"status":200,"url":"/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.532624,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"021ebcc0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"021ebcc0-0fed-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"021ebcc0-0fed-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwNn0.lyZmECX0gKBKWqd3fnwyWwIgIVdSeblzwI3gmXeCM0o","level":"info","message":"auth send jwt","requestID":"0b0aae460190e106998436743d7bf3ec"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b0aae460190e106998436743d7bf3ec","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b","requestID":"0b0aae460190e106998436743d7bf3ec"} device-1 | {"level":"info","message":"POST /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222/signaling 200 12ms","method":"POST","requestID":"021ebcc0-0fed-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222/signaling"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.863699,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0b0aae460190e106998436743d7bf3ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617106,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwNn0.lyZmECX0gKBKWqd3fnwyWwIgIVdSeblzwI3gmXeCM0o"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"0b0aae460190e106998436743d7bf3ec","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Attempting to finish experiment","requestID":"0b0aae460190e106998436743d7bf3ec"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"02257380-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.869701,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"02257380-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617106,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwNn0.lyZmECX0gKBKWqd3fnwyWwIgIVdSeblzwI3gmXeCM0o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"02257380-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539","device":"29855bb6-1fef-4f62-beb3-ec563f480e04","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"1a51edd3-7584-417d-a2d9-b79fe9e43222","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1a51edd3-7584-417d-a2d9-b79fe9e43222","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1a51edd3-7584-417d-a2d9-b79fe9e43222","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1aa28864-a197-4817-b3c0-d8aee1608539","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a6f589d3120bed31e656eb5dfd3e73a4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a6f589d3120bed31e656eb5dfd3e73a4","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1aa28864-a197-4817-b3c0-d8aee1608539': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1aa28864-a197-4817-b3c0-d8aee1608539","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"e2e43a91-ae13-4674-80b6-f1d7f9d48522","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.6309235} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"557ca8c6-3c28-4cfa-899e-3e06cc009324","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.6312625} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"926d51ce634eed64c52ad4ee8d7e1556","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04"},{"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/1a51edd3-7584-417d-a2d9-b79fe9e43222"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539"}}},"level":"info","message":"received a callback","requestID":"a6f589d3120bed31e656eb5dfd3e73a4"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"926d51ce634eed64c52ad4ee8d7e1556","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04"},{"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/1a51edd3-7584-417d-a2d9-b79fe9e43222"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539"}}},"level":"info","message":"received a callback","requestID":"926d51ce634eed64c52ad4ee8d7e1556"} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"02257380-0fed-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"1aa28864-a197-4817-b3c0-d8aee1608539","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"02257380-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539 204 63ms","method":"DELETE","requestID":"02257380-0fed-11f0-b95a-67cf87457f46","responseTime":63,"status":204,"url":"/peerconnections/1aa28864-a197-4817-b3c0-d8aee1608539"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"},"level":"info","message":"Successfully finished experiment","requestID":"0b0aae460190e106998436743d7bf3ec"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"02352af0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29855bb6-1fef-4f62-beb3-ec563f480e04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1124d7c6-52d2-442a-aacc-4dd1297be492","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.7233617} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.346006,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"02352af0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29855bb6-1fef-4f62-beb3-ec563f480e04","object_type":"device","rebac_allow":false,"scope_allow":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":"02352af0-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"02352af0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/29855bb6-1fef-4f62-beb3-ec563f480e04/signaling 200 7ms","method":"POST","requestID":"02352af0-0fed-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/devices/29855bb6-1fef-4f62-beb3-ec563f480e04/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"02368a80-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88ad2a2e-923e-46c9-acdb-8846dc02a478","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.7546153} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb01bf43d-ea80-4101-9c9b-57fddb609c4b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb01bf43d-ea80-4101-9c9b-57fddb609c4b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"ce5e9230-3137-41c8-b0d6-526ca108b0f7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.7570877} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"0b0aae460190e106998436743d7bf3ec","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a51edd3-7584-417d-a2d9-b79fe9e43222","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63ca2012-cd89-4063-9e5c-82ad5c20155c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.758136} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.61062,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"02368a80-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"02368a80-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"02368a80-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/1a51edd3-7584-417d-a2d9-b79fe9e43222/signaling 200 34ms","method":"POST","requestID":"02368a80-0fed-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b","requestID":"0b0aae460190e106998436743d7bf3ec"} gateway-1 | {"time_local":"02/Apr/2025:18:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.280","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b0aae460190e106998436743d7bf3ec"} experiment-1 | {"level":"info","message":"DELETE /experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b 204 278ms","method":"DELETE","requestID":"0b0aae460190e106998436743d7bf3ec","responseTime":278,"status":204,"url":"/experiments/b01bf43d-ea80-4101-9c9b-57fddb609c4b"} gateway-1 | {"time_local":"02/Apr/2025:18:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2493","request_time":"4.465","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"e335b995966295eba5650034ba55a0ae"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 231ms","method":"POST","requestID":"a6f589d3120bed31e656eb5dfd3e73a4","responseTime":231,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwNn0.lyZmECX0gKBKWqd3fnwyWwIgIVdSeblzwI3gmXeCM0o","level":"info","message":"auth send jwt","requestID":"23fd7bf7806e618a822f00175e205c59"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"23fd7bf7806e618a822f00175e205c59","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"23fd7bf7806e618a822f00175e205c59"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.011164,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"23fd7bf7806e618a822f00175e205c59","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617106,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwNn0.lyZmECX0gKBKWqd3fnwyWwIgIVdSeblzwI3gmXeCM0o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"23fd7bf7806e618a822f00175e205c59","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:18:05: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.268","http_referrer":"","http_user_agent":"node-fetch","requestID":"a6f589d3120bed31e656eb5dfd3e73a4"} gateway-1 | {"time_local":"02/Apr/2025:18:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2363","request_time":"3.102","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e3ba150170ef02538fd4767bdaf1c507"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1a51edd3-7584-417d-a2d9-b79fe9e43222' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 243ms","method":"POST","requestID":"926d51ce634eed64c52ad4ee8d7e1556","responseTime":243,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05: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.270","http_referrer":"","http_user_agent":"node-fetch","requestID":"926d51ce634eed64c52ad4ee8d7e1556"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eb54a8f3-ca73-4e7e-9361-04894eceb621","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.9165392} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"23fd7bf7806e618a822f00175e205c59","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/29855bb6-1fef-4f62-beb3-ec563f480e04' 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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c87a45a-17d1-4bd7-a635-0742d122dc9b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.9456537} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"23fd7bf7806e618a822f00175e205c59","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"dfbe1806-e39e-4b3f-82f0-2b76c48562cb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.9556646} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e12d851-1e46-4920-b405-7826674177b6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.9558325} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"23fd7bf7806e618a822f00175e205c59","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:06.955639045Z"}]},"request_id":"361ca484-2379-43e4-926e-dc4b2301a53d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617106.959667} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"23fd7bf7806e618a822f00175e205c59","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"23fd7bf7806e618a822f00175e205c59"} device-1 | {"level":"info","message":"POST /devices? 201 96ms","method":"POST","requestID":"23fd7bf7806e618a822f00175e205c59","responseTime":96,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:05: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.100","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23fd7bf7806e618a822f00175e205c59"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwNn0.lyZmECX0gKBKWqd3fnwyWwIgIVdSeblzwI3gmXeCM0o","level":"info","message":"auth send jwt","requestID":"1d51b691b8300cd61f746b47e8714738"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1d51b691b8300cd61f746b47e8714738","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1d51b691b8300cd61f746b47e8714738"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.763121,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1d51b691b8300cd61f746b47e8714738","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617106,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwNn0.lyZmECX0gKBKWqd3fnwyWwIgIVdSeblzwI3gmXeCM0o"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"1d51b691b8300cd61f746b47e8714738","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e1fcb639-9cd1-4bc9-979d-d803d094c206","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617107.0093353} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d51b691b8300cd61f746b47e8714738","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3708944-d320-4c23-8aac-6705eef6c636","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617107.0135643} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1d51b691b8300cd61f746b47e8714738","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"051d9e35-7da9-4ecb-8ad2-580dbea441fa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617107.046676} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8369349-0b01-4778-bd7d-82b4ada13542","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617107.0469182} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"1d51b691b8300cd61f746b47e8714738","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:07.046647266Z"}]},"request_id":"948e6143-4176-46e0-8dc7-d9103f2ee193","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617107.0506642} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1d51b691b8300cd61f746b47e8714738","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1d51b691b8300cd61f746b47e8714738"} gateway-1 | {"time_local":"02/Apr/2025:18:05:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d51b691b8300cd61f746b47e8714738"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"1d51b691b8300cd61f746b47e8714738","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs","level":"info","message":"auth send jwt","requestID":"dcc8bc1cb6f1d4a884d9ca837517cf18"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dcc8bc1cb6f1d4a884d9ca837517cf18","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"dcc8bc1cb6f1d4a884d9ca837517cf18"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.786974,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"dcc8bc1cb6f1d4a884d9ca837517cf18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dcc8bc1cb6f1d4a884d9ca837517cf18","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:07.046647266Z"}]},"request_id":"7c6de7e9-875c-4688-9cf9-ade397eb2d8c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.0973394} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"dcc8bc1cb6f1d4a884d9ca837517cf18","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7b1f577-d37c-4969-8446-debba5885db8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.10268} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs","level":"info","message":"auth send jwt","requestID":"771509381e00501d29817553e175749a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"771509381e00501d29817553e175749a","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"dcc8bc1cb6f1d4a884d9ca837517cf18","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"771509381e00501d29817553e175749a"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727996,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"771509381e00501d29817553e175749a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"771509381e00501d29817553e175749a","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:07.046647266Z"}]},"request_id":"26498353-0a88-49cf-8c5d-da7ece3a4f69","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.152086} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dcc8bc1cb6f1d4a884d9ca837517cf18","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:06.955639045Z"}]},"request_id":"3d59514a-de96-4b61-b728-8cc29c62c4fc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.1531162} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"dcc8bc1cb6f1d4a884d9ca837517cf18"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"771509381e00501d29817553e175749a","responseTime":3,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"02/Apr/2025:18:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.093","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"dcc8bc1cb6f1d4a884d9ca837517cf18"} device-1 | {"level":"info","message":"PATCH /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e 200 90ms","method":"PATCH","requestID":"dcc8bc1cb6f1d4a884d9ca837517cf18","responseTime":90,"status":200,"url":"/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs","level":"info","message":"auth send jwt","requestID":"f165f00b305ad321027e172eca51c5c5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f165f00b305ad321027e172eca51c5c5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f165f00b305ad321027e172eca51c5c5"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee9cc229-eb58-40db-91fa-3fcdccdd50cc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.1590123} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"771509381e00501d29817553e175749a","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691177,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f165f00b305ad321027e172eca51c5c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f165f00b305ad321027e172eca51c5c5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:06.955639045Z"}]},"request_id":"28a3ffd6-f22e-4660-ae72-5fcba0a85137","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.168399} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"771509381e00501d29817553e175749a","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"771509381e00501d29817553e175749a"} gateway-1 | {"time_local":"02/Apr/2025:18:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.093","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"771509381e00501d29817553e175749a"} device-1 | {"level":"info","message":"PATCH /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09 200 90ms","method":"PATCH","requestID":"771509381e00501d29817553e175749a","responseTime":90,"status":200,"url":"/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs","level":"info","message":"auth send jwt","requestID":"654f7c64d2f8cca3a955f31dcdc303c3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"654f7c64d2f8cca3a955f31dcdc303c3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"654f7c64d2f8cca3a955f31dcdc303c3"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684882,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"654f7c64d2f8cca3a955f31dcdc303c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"654f7c64d2f8cca3a955f31dcdc303c3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f165f00b305ad321027e172eca51c5c5"} device-1 | {"level":"info","message":"POST /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e/websocket 200 51ms","method":"POST","requestID":"f165f00b305ad321027e172eca51c5c5","responseTime":51,"status":200,"url":"/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"f165f00b305ad321027e172eca51c5c5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"654f7c64d2f8cca3a955f31dcdc303c3"} device-1 | {"level":"info","message":"POST /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09/websocket 200 52ms","method":"POST","requestID":"654f7c64d2f8cca3a955f31dcdc303c3","responseTime":52,"status":200,"url":"/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"654f7c64d2f8cca3a955f31dcdc303c3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs","level":"info","message":"auth send jwt","requestID":"c03a94750bb00b814c75e53333987517"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c03a94750bb00b814c75e53333987517","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c03a94750bb00b814c75e53333987517"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.732777,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c03a94750bb00b814c75e53333987517","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c03a94750bb00b814c75e53333987517","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:06.955639045Z"}]},"request_id":"5ebbf4b0-19e7-402c-94fe-cdd9db215fed","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.3109736} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c03a94750bb00b814c75e53333987517","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c03a94750bb00b814c75e53333987517"} device-1 | {"level":"info","message":"GET /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09? 200 34ms","method":"GET","requestID":"c03a94750bb00b814c75e53333987517","responseTime":34,"status":200,"url":"/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09?"} gateway-1 | {"time_local":"02/Apr/2025:18:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09? 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":"c03a94750bb00b814c75e53333987517"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs","level":"info","message":"auth send jwt","requestID":"7e6904721e58b8e016d0b7d9b7fcdf1f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7e6904721e58b8e016d0b7d9b7fcdf1f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7e6904721e58b8e016d0b7d9b7fcdf1f"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701973,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"7e6904721e58b8e016d0b7d9b7fcdf1f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7e6904721e58b8e016d0b7d9b7fcdf1f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:07.046647266Z"}]},"request_id":"b262527e-5fb3-4ee2-9b76-a27296a7cce8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.3497858} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7e6904721e58b8e016d0b7d9b7fcdf1f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7e6904721e58b8e016d0b7d9b7fcdf1f"} gateway-1 | {"time_local":"02/Apr/2025:18:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e6904721e58b8e016d0b7d9b7fcdf1f"} device-1 | {"level":"info","message":"GET /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e? 200 13ms","method":"GET","requestID":"7e6904721e58b8e016d0b7d9b7fcdf1f","responseTime":13,"status":200,"url":"/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs","level":"info","message":"auth send jwt","requestID":"51c50314eecc46142a27cdbbdf906cb8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"51c50314eecc46142a27cdbbdf906cb8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"51c50314eecc46142a27cdbbdf906cb8"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":25.618059,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"51c50314eecc46142a27cdbbdf906cb8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"51c50314eecc46142a27cdbbdf906cb8","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Attempting to run experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Attempting to book experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Successfully booked experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"033c88d0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"033cafe0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708585,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"033c88d0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"033c88d0-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638788,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"033cafe0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"033cafe0-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:06.955639045Z"}]},"request_id":"9217d655-44f0-4f49-af2e-04cf6f884972","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.4515932} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"033c88d0-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:07.046647266Z"}]},"request_id":"99e80b76-31e3-4841-823d-2daf1e209114","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.452202} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"033cafe0-0fed-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"033c88d0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09? 200 10ms","method":"GET","requestID":"033c88d0-0fed-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"033cafe0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e? 200 10ms","method":"GET","requestID":"033cafe0-0fed-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Setting up experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Successfully locked booking for experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Attempting to update booking for experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Successfully updated booking for experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Successfully set up experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"034d2aa0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"034d78c0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.614531,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"034d2aa0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"034d2aa0-0fed-11f0-b95a-67cf87457f46","responseTime":24,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"03512240-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.971981,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Successfully running experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"034d78c0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"034d78c0-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a766ee72-9fd9-4b39-9b9f-813a70335121","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.5861738} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:06.955639045Z"}]},"request_id":"caa5184a-ab7e-46b4-8ed1-4f9749283d12","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.5871546} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.203811,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"03512240-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","object_type":"device","rebac_allow":false,"scope_allow":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":"03512240-0fed-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"034d2aa0-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:07.046647266Z"}]},"request_id":"884b7e66-82c5-4c4b-9246-a498fedaf75b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.5880492} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"034d78c0-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"03512240-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09/signaling 200 14ms","method":"POST","requestID":"03512240-0fed-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"034d2aa0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09? 200 40ms","method":"GET","requestID":"034d2aa0-0fed-11f0-b95a-67cf87457f46","responseTime":40,"status":200,"url":"/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"034d78c0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e? 200 39ms","method":"GET","requestID":"034d78c0-0fed-11f0-b95a-67cf87457f46","responseTime":39,"status":200,"url":"/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"03536c30-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0353ba50-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.549448,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3e11458-a384-4094-be82-4a39c64cd24f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.6001127} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"03536c30-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","object_type":"device","rebac_allow":false,"scope_allow":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":"03536c30-0fed-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.815447,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3909b085-2f06-4168-b05f-d71145a67f88","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.6254988} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcff8900d-22d7-40a8-8732-c4a6f1edcaaf#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcff8900d-22d7-40a8-8732-c4a6f1edcaaf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"d3dd030d-42a9-494b-807d-075328cdfd32","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.6257026} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d2b9f90-4d91-437e-93e0-64ff73c12e17","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.6259696} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0353ba50-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","object_type":"device","rebac_allow":false,"scope_allow":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":"0353ba50-0fed-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"03536c30-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e/signaling 200 34ms","method":"POST","requestID":"03536c30-0fed-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"51c50314eecc46142a27cdbbdf906cb8","responseTime":45,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0353ba50-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09/signaling 200 34ms","method":"POST","requestID":"0353ba50-0fed-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"03595fa0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"51c50314eecc46142a27cdbbdf906cb8"} gateway-1 | {"time_local":"02/Apr/2025:18:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.281","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51c50314eecc46142a27cdbbdf906cb8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 278ms","method":"POST","requestID":"51c50314eecc46142a27cdbbdf906cb8","responseTime":278,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b0bb497-45e2-4a43-bc6f-5ead02304246","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.6388617} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.599146,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"03595fa0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"03595fa0-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs","level":"info","message":"auth send jwt","requestID":"d3694bbadec1b7955ccd4e57cf971ebc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d3694bbadec1b7955ccd4e57cf971ebc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"03595fa0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e/signaling 200 9ms","method":"POST","requestID":"03595fa0-0fed-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d3694bbadec1b7955ccd4e57cf971ebc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Building connection plan","requestID":"51c50314eecc46142a27cdbbdf906cb8"} 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":"eb0b921e-5806-4b6e-8f8f-1719c79d0b6f"},{"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":"9edb0445-7fb6-4624-b44a-21a4d22e1357"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"51e2f246-a6f9-4dc8-8681-8e12cbcfec8a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"51c50314eecc46142a27cdbbdf906cb8"} 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/b5d92a8d-7ede-4ce9-876d-addab9969c0e"},{"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/c7d80c3e-3815-4197-a6fb-291d9fff7d09"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"51c50314eecc46142a27cdbbdf906cb8"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"035b0d50-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.973558,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d3694bbadec1b7955ccd4e57cf971ebc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"d3694bbadec1b7955ccd4e57cf971ebc","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":25.053956,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"035b0d50-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"035b0d50-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:06.955639045Z"}]},"request_id":"4a5775d8-72c7-4297-9102-560a0a0ecf09","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.6784074} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d3694bbadec1b7955ccd4e57cf971ebc","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d3694bbadec1b7955ccd4e57cf971ebc"} gateway-1 | {"time_local":"02/Apr/2025:18:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3694bbadec1b7955ccd4e57cf971ebc"} device-1 | {"level":"info","message":"GET /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09? 200 38ms","method":"GET","requestID":"d3694bbadec1b7955ccd4e57cf971ebc","responseTime":38,"status":200,"url":"/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"8ad38295-5ced-431d-b5b1-c8bcc4d9f72e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.6836624} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e80de6d0-5e7a-4e08-8685-3cb8abbae218","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.6839328} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"035b0d50-0fed-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs","level":"info","message":"auth send jwt","requestID":"678b93696f3a5eb299a91ed7b7e3da28"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"678b93696f3a5eb299a91ed7b7e3da28","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"678b93696f3a5eb299a91ed7b7e3da28"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.738771,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"678b93696f3a5eb299a91ed7b7e3da28","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617108,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEwOH0.XRoUPAnPt2D-M5FArDVmQkSGEYOB9wB8CKSbYX-Agjs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"678b93696f3a5eb299a91ed7b7e3da28","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:07.046647266Z"}]},"request_id":"8e86a841-6a2b-48f1-a470-f2486f180377","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.6930165} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"678b93696f3a5eb299a91ed7b7e3da28","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"035b0d50-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"035b0d50-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173'","requestID":"035b0d50-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173'","requestID":"035b0d50-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"035b0d50-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 77ms","method":"POST","requestID":"035b0d50-0fed-11f0-b95a-67cf87457f46","responseTime":77,"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":"678b93696f3a5eb299a91ed7b7e3da28"} gateway-1 | {"time_local":"02/Apr/2025:18:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e? 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":"678b93696f3a5eb299a91ed7b7e3da28"} device-1 | {"level":"info","message":"GET /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e? 200 36ms","method":"GET","requestID":"678b93696f3a5eb299a91ed7b7e3da28","responseTime":36,"status":200,"url":"/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"035b0d50-0fed-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"51c50314eecc46142a27cdbbdf906cb8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"036e6e40-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0208688e-af9c-4c8c-ac4f-336ef145e403","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.7757676} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.313792,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"036e6e40-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","object_type":"device","rebac_allow":false,"scope_allow":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":"036e6e40-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"036e6e40-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09/signaling 200 7ms","method":"POST","requestID":"036e6e40-0fed-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"036fa6c0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d8acfa0-53ef-469c-a714-9e971ce67f0e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617108.7844713} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.306601,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"036fa6c0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"036fa6c0-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"036fa6c0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e/signaling 200 8ms","method":"POST","requestID":"036fa6c0-0fed-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e/signaling"} device-1 | {"device":"c7d80c3e-3815-4197-a6fb-291d9fff7d09","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"1a529e6d-0e6f-4834-aad8-9ad55d146173","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b5d92a8d-7ede-4ce9-876d-addab9969c0e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"1a529e6d-0e6f-4834-aad8-9ad55d146173","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b5d92a8d-7ede-4ce9-876d-addab9969c0e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5d92a8d-7ede-4ce9-876d-addab9969c0e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5d92a8d-7ede-4ce9-876d-addab9969c0e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5d92a8d-7ede-4ce9-876d-addab9969c0e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1a529e6d-0e6f-4834-aad8-9ad55d146173","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"634c13258d60c4caab058a569166a148","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"connecting","url":"http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e"},{"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/c7d80c3e-3815-4197-a6fb-291d9fff7d09"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173"}}},"level":"info","message":"received a callback","requestID":"634c13258d60c4caab058a569166a148"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"634c13258d60c4caab058a569166a148","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"c7d80c3e-3815-4197-a6fb-291d9fff7d09","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7d80c3e-3815-4197-a6fb-291d9fff7d09","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7d80c3e-3815-4197-a6fb-291d9fff7d09","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"634c13258d60c4caab058a569166a148","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"634c13258d60c4caab058a569166a148"} device-1 | {"device":"c7d80c3e-3815-4197-a6fb-291d9fff7d09","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5d92a8d-7ede-4ce9-876d-addab9969c0e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5d92a8d-7ede-4ce9-876d-addab9969c0e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7d80c3e-3815-4197-a6fb-291d9fff7d09","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"1a529e6d-0e6f-4834-aad8-9ad55d146173","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"1a529e6d-0e6f-4834-aad8-9ad55d146173","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/1a529e6d-0e6f-4834-aad8-9ad55d146173' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1a529e6d-0e6f-4834-aad8-9ad55d146173","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7fc535b72606dcc01f7f77deee242033","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7fc535b72606dcc01f7f77deee242033","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/b5d92a8d-7ede-4ce9-876d-addab9969c0e"},{"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/c7d80c3e-3815-4197-a6fb-291d9fff7d09"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173"}}},"level":"info","message":"received a callback","requestID":"7fc535b72606dcc01f7f77deee242033"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"04aa49a0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:10Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1a529e6d-0e6f-4834-aad8-9ad55d146173","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e132b0ab-8213-4e1a-a3ca-fc51fbe93873","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617110.8462782} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.602541,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"04aa49a0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173","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":"04aa49a0-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"04aa49a0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173 200 7ms","method":"GET","requestID":"04aa49a0-0fed-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"7fc535b72606dcc01f7f77deee242033","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"7fc535b72606dcc01f7f77deee242033"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"04b17590-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:10Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ce9a464-abde-43bc-b570-62215fa2bc5d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617110.8937457} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.189098,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"04b17590-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","object_type":"device","rebac_allow":false,"scope_allow":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":"04b17590-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"04b17590-0fed-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMH0.Qt4NOQxhWI5ZlZzA8GQebm2cVJBDCWNF2nQEANsH_Ig","level":"info","message":"auth send jwt","requestID":"d7a08f8fd5767ee24234904f90f27215"} device-1 | {"level":"info","message":"POST /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e/signaling 200 7ms","method":"POST","requestID":"04b17590-0fed-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d7a08f8fd5767ee24234904f90f27215","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf","requestID":"d7a08f8fd5767ee24234904f90f27215"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"04b2fc30-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:10Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.623515,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d7a08f8fd5767ee24234904f90f27215","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617110,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMH0.Qt4NOQxhWI5ZlZzA8GQebm2cVJBDCWNF2nQEANsH_Ig"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d7a08f8fd5767ee24234904f90f27215","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8b1f22c-9d86-4b02-91b4-62efb2578e01","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617110.9036381} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.253912,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"04b2fc30-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","object_type":"device","rebac_allow":false,"scope_allow":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":"04b2fc30-0fed-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf","requestID":"d7a08f8fd5767ee24234904f90f27215"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"04b2fc30-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09/signaling 200 33ms","method":"POST","requestID":"04b2fc30-0fed-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09/signaling"} gateway-1 | {"time_local":"02/Apr/2025:18:05:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf 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":"d7a08f8fd5767ee24234904f90f27215"} experiment-1 | {"level":"info","message":"GET /experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf 200 33ms","method":"GET","requestID":"d7a08f8fd5767ee24234904f90f27215","responseTime":33,"status":200,"url":"/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMH0.Qt4NOQxhWI5ZlZzA8GQebm2cVJBDCWNF2nQEANsH_Ig","level":"info","message":"auth send jwt","requestID":"db519819de0d86c1a245c372ca121adc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"db519819de0d86c1a245c372ca121adc","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf","requestID":"db519819de0d86c1a245c372ca121adc"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:10Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.662543,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"db519819de0d86c1a245c372ca121adc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617110,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMH0.Qt4NOQxhWI5ZlZzA8GQebm2cVJBDCWNF2nQEANsH_Ig"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"db519819de0d86c1a245c372ca121adc","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Attempting to finish experiment","requestID":"db519819de0d86c1a245c372ca121adc"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"04b9da00-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:10Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.742457,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"04b9da00-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617110,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMH0.Qt4NOQxhWI5ZlZzA8GQebm2cVJBDCWNF2nQEANsH_Ig"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"04b9da00-0fed-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"device":"b5d92a8d-7ede-4ce9-876d-addab9969c0e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5d92a8d-7ede-4ce9-876d-addab9969c0e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5d92a8d-7ede-4ce9-876d-addab9969c0e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7d80c3e-3815-4197-a6fb-291d9fff7d09","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7d80c3e-3815-4197-a6fb-291d9fff7d09","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7d80c3e-3815-4197-a6fb-291d9fff7d09","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1a529e6d-0e6f-4834-aad8-9ad55d146173","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1a529e6d-0e6f-4834-aad8-9ad55d146173': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1a529e6d-0e6f-4834-aad8-9ad55d146173","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"107968a8-a5c0-49b7-bea8-dde44272003a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617110.9804952} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ea2759af491dbcbbf7733a9845b4e5ab","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ea2759af491dbcbbf7733a9845b4e5ab","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc0a804e-6d4c-4721-88fd-8df1f09e1ba8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617110.9808893} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"04b9da00-0fed-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"488cf7c4f0da8eaa73557f03d2c631e1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"488cf7c4f0da8eaa73557f03d2c631e1","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/b5d92a8d-7ede-4ce9-876d-addab9969c0e"},{"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/c7d80c3e-3815-4197-a6fb-291d9fff7d09"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173"}}},"level":"info","message":"received a callback","requestID":"ea2759af491dbcbbf7733a9845b4e5ab"} 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/b5d92a8d-7ede-4ce9-876d-addab9969c0e"},{"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/c7d80c3e-3815-4197-a6fb-291d9fff7d09"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173"}}},"level":"info","message":"received a callback","requestID":"488cf7c4f0da8eaa73557f03d2c631e1"} device-1 | {"data":{"peerconnection":"1a529e6d-0e6f-4834-aad8-9ad55d146173","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"04b9da00-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173 204 93ms","method":"DELETE","requestID":"04b9da00-0fed-11f0-b95a-67cf87457f46","responseTime":93,"status":204,"url":"/peerconnections/1a529e6d-0e6f-4834-aad8-9ad55d146173"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"},"level":"info","message":"Successfully finished experiment","requestID":"db519819de0d86c1a245c372ca121adc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"04cd8910-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:11Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5d92a8d-7ede-4ce9-876d-addab9969c0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"15bb94aa-33e9-4c61-a976-24e520e81a80","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.0773792} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.115084,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"04cd8910-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e","object_type":"device","rebac_allow":false,"scope_allow":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":"04cd8910-0fed-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcff8900d-22d7-40a8-8732-c4a6f1edcaaf': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcff8900d-22d7-40a8-8732-c4a6f1edcaaf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"188de78c-4a51-4b03-bece-6cf52b420847","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.08438} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"04cd8910-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"197bd5bb-f7ed-46ee-a1a0-b9800b70a6bf","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.0845678} device-1 | {"level":"info","message":"POST /devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e/signaling 200 12ms","method":"POST","requestID":"04cd8910-0fed-11f0-b95a-67cf87457f46","responseTime":12,"status":200,"url":"/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"db519819de0d86c1a245c372ca121adc","responseTime":34,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"04cfabf0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:11Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d80c3e-3815-4197-a6fb-291d9fff7d09","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"344cf760-14ee-4a9f-9f21-021ce724de59","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.0911944} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.533448,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"04cfabf0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09","object_type":"device","rebac_allow":false,"scope_allow":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":"04cfabf0-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"04cfabf0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09/signaling 200 7ms","method":"POST","requestID":"04cfabf0-0fed-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf","requestID":"db519819de0d86c1a245c372ca121adc"} gateway-1 | {"time_local":"02/Apr/2025:18:05:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.256","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db519819de0d86c1a245c372ca121adc"} experiment-1 | {"level":"info","message":"DELETE /experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf 204 254ms","method":"DELETE","requestID":"db519819de0d86c1a245c372ca121adc","responseTime":254,"status":204,"url":"/experiments/cff8900d-22d7-40a8-8732-c4a6f1edcaaf"} gateway-1 | {"time_local":"02/Apr/2025:18:05:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2365","request_time":"2.937","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"0a1b28e88a46e0f273994b73052b3843"} gateway-1 | {"time_local":"02/Apr/2025:18:05:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2363","request_time":"2.978","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"f466ddf32ec9c466b1bef673996a113d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 210ms","method":"POST","requestID":"ea2759af491dbcbbf7733a9845b4e5ab","responseTime":210,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 233ms","method":"POST","requestID":"488cf7c4f0da8eaa73557f03d2c631e1","responseTime":233,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMX0.AvUW_7-jdPJyyaU51wlV_cTIOmxLBprccJJJcsMTc1A","level":"info","message":"auth send jwt","requestID":"cb475ef9b6fc64aff044f2d4690af753"} gateway-1 | {"time_local":"02/Apr/2025:18:05:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.212","http_referrer":"","http_user_agent":"node-fetch","requestID":"ea2759af491dbcbbf7733a9845b4e5ab"} gateway-1 | {"time_local":"02/Apr/2025:18:05:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.237","http_referrer":"","http_user_agent":"node-fetch","requestID":"488cf7c4f0da8eaa73557f03d2c631e1"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"cb475ef9b6fc64aff044f2d4690af753","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"cb475ef9b6fc64aff044f2d4690af753"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b5d92a8d-7ede-4ce9-876d-addab9969c0e' closed"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:11Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.16033,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cb475ef9b6fc64aff044f2d4690af753","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617111,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMX0.AvUW_7-jdPJyyaU51wlV_cTIOmxLBprccJJJcsMTc1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cb475ef9b6fc64aff044f2d4690af753","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c7d80c3e-3815-4197-a6fb-291d9fff7d09' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"06aba24c-9df5-4984-b91b-ea8b26b6c11a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.2427983} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cb475ef9b6fc64aff044f2d4690af753","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0335882e-3aa9-47da-bd96-06de3c6ccd87","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.2772431} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"cb475ef9b6fc64aff044f2d4690af753","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"5f776cd9-20f1-4078-abab-08bfab15ec90","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.289754} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c2ee03e-d447-4690-8e78-c0cfde8485d9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.2899928} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"cb475ef9b6fc64aff044f2d4690af753","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.289727720Z"}]},"request_id":"c0c1b580-6c5d-4e34-a217-0a4fffd1ff3c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.3185651} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"cb475ef9b6fc64aff044f2d4690af753","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cb475ef9b6fc64aff044f2d4690af753"} gateway-1 | {"time_local":"02/Apr/2025:18:05: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.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb475ef9b6fc64aff044f2d4690af753"} device-1 | {"level":"info","message":"POST /devices? 201 99ms","method":"POST","requestID":"cb475ef9b6fc64aff044f2d4690af753","responseTime":99,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMX0.AvUW_7-jdPJyyaU51wlV_cTIOmxLBprccJJJcsMTc1A","level":"info","message":"auth send jwt","requestID":"c587d39f6bc0619e29ab90dabe3ae792"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c587d39f6bc0619e29ab90dabe3ae792","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c587d39f6bc0619e29ab90dabe3ae792"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:11Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.988603,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"c587d39f6bc0619e29ab90dabe3ae792","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617111,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMX0.AvUW_7-jdPJyyaU51wlV_cTIOmxLBprccJJJcsMTc1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c587d39f6bc0619e29ab90dabe3ae792","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d1216b1b-b488-4c8c-9828-ef0d62859c10","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.366285} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c587d39f6bc0619e29ab90dabe3ae792","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9261140-4b2b-47ac-8e64-b5cdc7c59ccb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.3713048} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c587d39f6bc0619e29ab90dabe3ae792","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"916949d8-6e19-4458-9d9d-d92ea9d2de16","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.380172} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d577a190-cf45-4975-8b1a-656fdf430efa","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.3811433} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"c587d39f6bc0619e29ab90dabe3ae792","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.380135616Z"}]},"request_id":"07908956-6b42-4747-80f1-48d8ab18b5d2","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617111.4102035} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"c587d39f6bc0619e29ab90dabe3ae792","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c587d39f6bc0619e29ab90dabe3ae792"} gateway-1 | {"time_local":"02/Apr/2025:18:05: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.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c587d39f6bc0619e29ab90dabe3ae792"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"c587d39f6bc0619e29ab90dabe3ae792","responseTime":87,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE","level":"info","message":"auth send jwt","requestID":"9c104d799e0c5bbcc2fd1d3beb350736"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9c104d799e0c5bbcc2fd1d3beb350736","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"9c104d799e0c5bbcc2fd1d3beb350736"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691057,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"9c104d799e0c5bbcc2fd1d3beb350736","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9c104d799e0c5bbcc2fd1d3beb350736","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE","level":"info","message":"auth send jwt","requestID":"ebea2f06a196ed5c0415470f39d70e75"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ebea2f06a196ed5c0415470f39d70e75","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ebea2f06a196ed5c0415470f39d70e75"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.380135616Z"}]},"request_id":"68c83ec1-1769-4dcf-ab89-371bca9b0f04","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.338224} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9c104d799e0c5bbcc2fd1d3beb350736","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674304,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ebea2f06a196ed5c0415470f39d70e75","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ebea2f06a196ed5c0415470f39d70e75","responseTime":3,"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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"527ed8d9-5ee2-4291-8311-ece9048b993a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.34345} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"9c104d799e0c5bbcc2fd1d3beb350736","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.289727720Z"}]},"request_id":"a92b61d7-8e90-4247-86f5-36407f00c028","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.3704972} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ebea2f06a196ed5c0415470f39d70e75","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e21a71bc-cdd3-40c9-a0a0-bd97bb5ab808","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.3739066} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"ebea2f06a196ed5c0415470f39d70e75","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.380135616Z"}]},"request_id":"0101937a-49ca-498d-9e7f-20bc80f08cb3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.3919582} gateway-1 | {"time_local":"02/Apr/2025:18:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/252edd04-847f-4b7e-8eed-bf78557d4b01 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.067","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"9c104d799e0c5bbcc2fd1d3beb350736"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"9c104d799e0c5bbcc2fd1d3beb350736"} device-1 | {"level":"info","message":"PATCH /devices/252edd04-847f-4b7e-8eed-bf78557d4b01 200 63ms","method":"PATCH","requestID":"9c104d799e0c5bbcc2fd1d3beb350736","responseTime":63,"status":200,"url":"/devices/252edd04-847f-4b7e-8eed-bf78557d4b01"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"9c104d799e0c5bbcc2fd1d3beb350736","responseTime":27,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE","level":"info","message":"auth send jwt","requestID":"53b6054d46aa39f94405f31fc6f07cfb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"53b6054d46aa39f94405f31fc6f07cfb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"53b6054d46aa39f94405f31fc6f07cfb"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647112,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"53b6054d46aa39f94405f31fc6f07cfb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"53b6054d46aa39f94405f31fc6f07cfb","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.289727720Z"}]},"request_id":"295b46e8-c9f7-4ff5-bc68-83e475ef1ba5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.427385} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ebea2f06a196ed5c0415470f39d70e75","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ebea2f06a196ed5c0415470f39d70e75"} device-1 | {"level":"info","message":"PATCH /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c 200 92ms","method":"PATCH","requestID":"ebea2f06a196ed5c0415470f39d70e75","responseTime":92,"status":200,"url":"/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c"} gateway-1 | {"time_local":"02/Apr/2025:18:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.096","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"ebea2f06a196ed5c0415470f39d70e75"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE","level":"info","message":"auth send jwt","requestID":"4790ada1e1c8680137458e0ae4a70570"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4790ada1e1c8680137458e0ae4a70570","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4790ada1e1c8680137458e0ae4a70570"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"53b6054d46aa39f94405f31fc6f07cfb"} gateway-1 | {"time_local":"02/Apr/2025:18:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/252edd04-847f-4b7e-8eed-bf78557d4b01/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"53b6054d46aa39f94405f31fc6f07cfb"} device-1 | {"level":"info","message":"POST /devices/252edd04-847f-4b7e-8eed-bf78557d4b01/websocket 200 15ms","method":"POST","requestID":"53b6054d46aa39f94405f31fc6f07cfb","responseTime":15,"status":200,"url":"/devices/252edd04-847f-4b7e-8eed-bf78557d4b01/websocket"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.963407,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4790ada1e1c8680137458e0ae4a70570","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4790ada1e1c8680137458e0ae4a70570","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4790ada1e1c8680137458e0ae4a70570"} device-1 | {"level":"info","message":"POST /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c/websocket 200 35ms","method":"POST","requestID":"4790ada1e1c8680137458e0ae4a70570","responseTime":35,"status":200,"url":"/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"4790ada1e1c8680137458e0ae4a70570"} device-1 | {"level":"info","message":"device 'http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE","level":"info","message":"auth send jwt","requestID":"979505c5ac77914d9b36a909c2f2c22a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"979505c5ac77914d9b36a909c2f2c22a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"979505c5ac77914d9b36a909c2f2c22a"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.636822,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"979505c5ac77914d9b36a909c2f2c22a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"979505c5ac77914d9b36a909c2f2c22a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.289727720Z"}]},"request_id":"76f14e0d-c850-4ee6-8c2d-44ce1a0b033b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.5277295} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"979505c5ac77914d9b36a909c2f2c22a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"979505c5ac77914d9b36a909c2f2c22a"} gateway-1 | {"time_local":"02/Apr/2025:18:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c? 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":"979505c5ac77914d9b36a909c2f2c22a"} device-1 | {"level":"info","message":"GET /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c? 200 10ms","method":"GET","requestID":"979505c5ac77914d9b36a909c2f2c22a","responseTime":10,"status":200,"url":"/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE","level":"info","message":"auth send jwt","requestID":"1af994e2c01e9a2bbe560e826b80d969"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1af994e2c01e9a2bbe560e826b80d969","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1af994e2c01e9a2bbe560e826b80d969"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742005,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"1af994e2c01e9a2bbe560e826b80d969","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"1af994e2c01e9a2bbe560e826b80d969","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.380135616Z"}]},"request_id":"c3f0d410-3e77-4d82-80a2-34f2cefa9d87","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.564854} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1af994e2c01e9a2bbe560e826b80d969","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1af994e2c01e9a2bbe560e826b80d969"} gateway-1 | {"time_local":"02/Apr/2025:18:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/252edd04-847f-4b7e-8eed-bf78557d4b01? 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":"1af994e2c01e9a2bbe560e826b80d969"} device-1 | {"level":"info","message":"GET /devices/252edd04-847f-4b7e-8eed-bf78557d4b01? 200 34ms","method":"GET","requestID":"1af994e2c01e9a2bbe560e826b80d969","responseTime":34,"status":200,"url":"/devices/252edd04-847f-4b7e-8eed-bf78557d4b01?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE","level":"info","message":"auth send jwt","requestID":"8df09997171db19fb0101ce2b770dc63"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8df09997171db19fb0101ce2b770dc63","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"8df09997171db19fb0101ce2b770dc63"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.880068,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"8df09997171db19fb0101ce2b770dc63","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8df09997171db19fb0101ce2b770dc63","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Attempting to run experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Attempting to book experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Successfully booked experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"05ba8120-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"05baa830-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.624577,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05ba8120-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"05ba8120-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.583917,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05baa830-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"05baa830-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.289727720Z"}]},"request_id":"fe340b10-1af8-4745-a0b5-d6dd05d42a50","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.657852} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"05ba8120-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.380135616Z"}]},"request_id":"0c888de9-c76a-4221-9ab5-00ed396578a1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.6587477} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"05baa830-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"05ba8120-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c? 200 36ms","method":"GET","requestID":"05ba8120-0fed-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"05baa830-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/252edd04-847f-4b7e-8eed-bf78557d4b01? 200 36ms","method":"GET","requestID":"05baa830-0fed-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/252edd04-847f-4b7e-8eed-bf78557d4b01?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Setting up experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Successfully locked booking for experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Attempting to update booking for experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Successfully updated booking for experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Successfully set up experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"05cde210-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"05ce0920-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"05ce3030-0fed-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Successfully running experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.13357,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05cde210-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"05cde210-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763129,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05ce0920-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"05ce0920-0fed-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ee8252d-edb6-4fc3-8285-ef3c13682143","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.7627623} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.061072,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.289727720Z"}]},"request_id":"7316ec5e-3130-4176-b6db-f52217d39478","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.7648342} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05ce3030-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","object_type":"device","rebac_allow":false,"scope_allow":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":"05ce3030-0fed-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"05cde210-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.380135616Z"}]},"request_id":"1468909a-ea0a-459f-9066-9fcabe56ec48","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.7655957} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"05ce0920-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1c68c878-2eb0-4f7f-a521-b2d91def8f53#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1c68c878-2eb0-4f7f-a521-b2d91def8f53","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"30d2dd42-c010-460b-9db8-78dd519fc962","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.770991} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"05ce3030-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b85f6835-b0cc-420d-9ccc-2003cc838464","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.7712507} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"8df09997171db19fb0101ce2b770dc63","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c/signaling 200 19ms","method":"POST","requestID":"05ce3030-0fed-11f0-b95a-67cf87457f46","responseTime":19,"status":200,"url":"/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"05cde210-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c? 200 22ms","method":"GET","requestID":"05cde210-0fed-11f0-b95a-67cf87457f46","responseTime":22,"status":200,"url":"/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"05d16480-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"05ce0920-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/252edd04-847f-4b7e-8eed-bf78557d4b01? 200 48ms","method":"GET","requestID":"05ce0920-0fed-11f0-b95a-67cf87457f46","responseTime":48,"status":200,"url":"/devices/252edd04-847f-4b7e-8eed-bf78557d4b01?"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac2610c0-24df-49b0-8981-9173ec94e8fd","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.8048067} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.773116,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"8df09997171db19fb0101ce2b770dc63"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"05d5f860-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05d16480-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"02/Apr/2025:18:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.237","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8df09997171db19fb0101ce2b770dc63"} experiment-1 | {"level":"info","message":"POST /experiments? 201 234ms","method":"POST","requestID":"8df09997171db19fb0101ce2b770dc63","responseTime":234,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"05d16480-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"05d16480-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/252edd04-847f-4b7e-8eed-bf78557d4b01/signaling 200 34ms","method":"POST","requestID":"05d16480-0fed-11f0-b95a-67cf87457f46","responseTime":34,"status":200,"url":"/devices/252edd04-847f-4b7e-8eed-bf78557d4b01/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"899f9f1d-bc6d-4dd3-9c3b-e566bdcee5dc","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.8104558} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.269716,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05d5f860-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"05d5f860-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE","level":"info","message":"auth send jwt","requestID":"9ab9a25811a17ccf5a239b8ce8de1bb6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"05d5f860-0fed-11f0-b95a-67cf87457f46"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"9ab9a25811a17ccf5a239b8ce8de1bb6","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c/signaling 200 9ms","method":"POST","requestID":"05d5f860-0fed-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ab9a25811a17ccf5a239b8ce8de1bb6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"05d7a610-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.956445,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"9ab9a25811a17ccf5a239b8ce8de1bb6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9ab9a25811a17ccf5a239b8ce8de1bb6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"323b56bd-276e-44ae-bb02-5212d0ff2704","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.8217556} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.984677,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05d7a610-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"05d7a610-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.289727720Z"}]},"request_id":"a3568405-4e74-4015-8e29-9eb711e92c84","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.8238587} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9ab9a25811a17ccf5a239b8ce8de1bb6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"05d7a610-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/252edd04-847f-4b7e-8eed-bf78557d4b01/signaling 200 10ms","method":"POST","requestID":"05d7a610-0fed-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/devices/252edd04-847f-4b7e-8eed-bf78557d4b01/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ab9a25811a17ccf5a239b8ce8de1bb6"} gateway-1 | {"time_local":"02/Apr/2025:18:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c? 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":"9ab9a25811a17ccf5a239b8ce8de1bb6"} device-1 | {"level":"info","message":"GET /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c? 200 13ms","method":"GET","requestID":"9ab9a25811a17ccf5a239b8ce8de1bb6","responseTime":13,"status":200,"url":"/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Building connection plan","requestID":"8df09997171db19fb0101ce2b770dc63"} 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":"afe9e592-0e9c-4c98-aa81-245cfae0203b"},{"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":"f2a7cee9-fa62-428e-bb83-c14a31176add"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c340aa6a-cc59-4a40-8fd4-e3889e66a277"}]},"level":"info","message":"Built pairwise service configurations","requestID":"8df09997171db19fb0101ce2b770dc63"} 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/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c"},{"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/252edd04-847f-4b7e-8eed-bf78557d4b01"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"8df09997171db19fb0101ce2b770dc63"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"05dd4b60-0fed-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE","level":"info","message":"auth send jwt","requestID":"a2023417c693cee09730be6b0f7943d2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a2023417c693cee09730be6b0f7943d2","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.984333,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2023417c693cee09730be6b0f7943d2"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05dd4b60-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"05dd4b60-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66492,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"a2023417c693cee09730be6b0f7943d2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617112,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExMn0.2Uu9G2ai0nqOwB7V91uR7iRrI7LrSoeGRDYyo_SVuKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a2023417c693cee09730be6b0f7943d2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:11.380135616Z"}]},"request_id":"3cfdcddf-6360-4f25-b8cf-3739c3487791","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.8644724} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a2023417c693cee09730be6b0f7943d2","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"7dbef74f-0282-4c2a-97f0-1b2a9543cd36","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.8657856} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17e76bc6-8d16-469d-810c-2e5bce8f2696","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.866193} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"05dd4b60-0fed-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2023417c693cee09730be6b0f7943d2"} gateway-1 | {"time_local":"02/Apr/2025:18:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/252edd04-847f-4b7e-8eed-bf78557d4b01? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2023417c693cee09730be6b0f7943d2"} device-1 | {"level":"info","message":"GET /devices/252edd04-847f-4b7e-8eed-bf78557d4b01? 200 12ms","method":"GET","requestID":"a2023417c693cee09730be6b0f7943d2","responseTime":12,"status":200,"url":"/devices/252edd04-847f-4b7e-8eed-bf78557d4b01?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"05dd4b60-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"05dd4b60-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924'","requestID":"05dd4b60-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924'","requestID":"05dd4b60-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"05dd4b60-0fed-11f0-b95a-67cf87457f46"} 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":"05dd4b60-0fed-11f0-b95a-67cf87457f46","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":"05dd4b60-0fed-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"8df09997171db19fb0101ce2b770dc63"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"05ed29e0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22904782-3320-4206-88ec-b0e1866ae7a7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.9622502} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.232389,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05ed29e0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"05ed29e0-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"05ed29e0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c/signaling 200 8ms","method":"POST","requestID":"05ed29e0-0fed-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"05ee8970-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d000397b-5a82-49a0-bbd1-2d2e0f625761","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617112.9952185} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.160463,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05ee8970-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","object_type":"device","rebac_allow":false,"scope_allow":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":"05ee8970-0fed-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"05ee8970-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/252edd04-847f-4b7e-8eed-bf78557d4b01/signaling 200 32ms","method":"POST","requestID":"05ee8970-0fed-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/devices/252edd04-847f-4b7e-8eed-bf78557d4b01/signaling"} device-1 | {"device":"252edd04-847f-4b7e-8eed-bf78557d4b01","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c9842e6c-7b92-4ea6-9998-ff83f2f4d924","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c9842e6c-7b92-4ea6-9998-ff83f2f4d924","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c9842e6c-7b92-4ea6-9998-ff83f2f4d924","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f5a47a74bb5c2e1a06b414ce438b6dba","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f5a47a74bb5c2e1a06b414ce438b6dba","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/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c"},{"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/252edd04-847f-4b7e-8eed-bf78557d4b01"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924"}}},"level":"info","message":"received a callback","requestID":"f5a47a74bb5c2e1a06b414ce438b6dba"} device-1 | {"device":"252edd04-847f-4b7e-8eed-bf78557d4b01","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"252edd04-847f-4b7e-8eed-bf78557d4b01","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"252edd04-847f-4b7e-8eed-bf78557d4b01","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"f5a47a74bb5c2e1a06b414ce438b6dba","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"f5a47a74bb5c2e1a06b414ce438b6dba"} device-1 | {"device":"6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"252edd04-847f-4b7e-8eed-bf78557d4b01","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"252edd04-847f-4b7e-8eed-bf78557d4b01","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c9842e6c-7b92-4ea6-9998-ff83f2f4d924","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c9842e6c-7b92-4ea6-9998-ff83f2f4d924","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/c9842e6c-7b92-4ea6-9998-ff83f2f4d924' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c9842e6c-7b92-4ea6-9998-ff83f2f4d924","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7a2017db78ee2d4cb6ef9f1c610a2243","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7a2017db78ee2d4cb6ef9f1c610a2243","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/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c"},{"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/252edd04-847f-4b7e-8eed-bf78557d4b01"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924"}}},"level":"info","message":"received a callback","requestID":"7a2017db78ee2d4cb6ef9f1c610a2243"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"07311b90-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc9842e6c-7b92-4ea6-9998-ff83f2f4d924","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae3dc54b-dfde-45c6-91e2-892174263c08","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.1097887} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":26.492414,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"07311b90-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"07311b90-0fed-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"07311b90-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924 200 32ms","method":"GET","requestID":"07311b90-0fed-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExNX0.3beaS8gXekhqzEaIyeIVYbK4RZ5BB72h0dUwSoBUn6w","level":"info","message":"auth send jwt","requestID":"3a5e90ea9db181e14ba9357edab381cd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3a5e90ea9db181e14ba9357edab381cd","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53","requestID":"3a5e90ea9db181e14ba9357edab381cd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"7a2017db78ee2d4cb6ef9f1c610a2243","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"7a2017db78ee2d4cb6ef9f1c610a2243"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"07384780-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":26.149966,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"3a5e90ea9db181e14ba9357edab381cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617115,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExNX0.3beaS8gXekhqzEaIyeIVYbK4RZ5BB72h0dUwSoBUn6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"3a5e90ea9db181e14ba9357edab381cd","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee12ac50-b454-4182-8c9f-f143dc2ea07d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.1565578} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.36904,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"07384780-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"07384780-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53","requestID":"3a5e90ea9db181e14ba9357edab381cd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"07384780-0fed-11f0-b95a-67cf87457f46"} gateway-1 | {"time_local":"02/Apr/2025:18:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3a5e90ea9db181e14ba9357edab381cd"} device-1 | {"level":"info","message":"POST /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c/signaling 200 32ms","method":"POST","requestID":"07384780-0fed-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c/signaling"} experiment-1 | {"level":"info","message":"GET /experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53 200 34ms","method":"GET","requestID":"3a5e90ea9db181e14ba9357edab381cd","responseTime":34,"status":200,"url":"/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"073d77a0-0fed-11f0-b95a-67cf87457f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExNX0.3beaS8gXekhqzEaIyeIVYbK4RZ5BB72h0dUwSoBUn6w","level":"info","message":"auth send jwt","requestID":"0946d9b5ed324cf7b0b15374af5493f8"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:15Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0946d9b5ed324cf7b0b15374af5493f8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53","requestID":"0946d9b5ed324cf7b0b15374af5493f8"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68532548-6e91-460e-8e09-bc70590adce6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.1663704} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.412492,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"073d77a0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"073d77a0-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.617554,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0946d9b5ed324cf7b0b15374af5493f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617115,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExNX0.3beaS8gXekhqzEaIyeIVYbK4RZ5BB72h0dUwSoBUn6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0946d9b5ed324cf7b0b15374af5493f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"073d77a0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/252edd04-847f-4b7e-8eed-bf78557d4b01/signaling 200 9ms","method":"POST","requestID":"073d77a0-0fed-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/252edd04-847f-4b7e-8eed-bf78557d4b01/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Attempting to finish experiment","requestID":"0946d9b5ed324cf7b0b15374af5493f8"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"073f4c60-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":24.891328,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"073f4c60-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617115,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExNX0.3beaS8gXekhqzEaIyeIVYbK4RZ5BB72h0dUwSoBUn6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"073f4c60-0fed-11f0-b95a-67cf87457f46","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"device":"252edd04-847f-4b7e-8eed-bf78557d4b01","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"252edd04-847f-4b7e-8eed-bf78557d4b01","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"252edd04-847f-4b7e-8eed-bf78557d4b01","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c9842e6c-7b92-4ea6-9998-ff83f2f4d924","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3041472a80368ca7cd96594f802a8de3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc9842e6c-7b92-4ea6-9998-ff83f2f4d924': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc9842e6c-7b92-4ea6-9998-ff83f2f4d924","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"6a471054-193a-4309-8a42-98c7604d5186","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.213137} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3041472a80368ca7cd96594f802a8de3","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d9a60b04579fec70cbe7ff79a527f48b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c"},{"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/252edd04-847f-4b7e-8eed-bf78557d4b01"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924"}}},"level":"info","message":"received a callback","requestID":"3041472a80368ca7cd96594f802a8de3"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d9a60b04579fec70cbe7ff79a527f48b","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"716d14fc-47b8-4db4-9d95-65234cac9308","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.2135422} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"073f4c60-0fed-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c"},{"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/252edd04-847f-4b7e-8eed-bf78557d4b01"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924"}}},"level":"info","message":"received a callback","requestID":"d9a60b04579fec70cbe7ff79a527f48b"} device-1 | {"data":{"peerconnection":"c9842e6c-7b92-4ea6-9998-ff83f2f4d924","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"073f4c60-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924 204 92ms","method":"DELETE","requestID":"073f4c60-0fed-11f0-b95a-67cf87457f46","responseTime":92,"status":204,"url":"/peerconnections/c9842e6c-7b92-4ea6-9998-ff83f2f4d924"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"},"level":"info","message":"Successfully finished experiment","requestID":"0946d9b5ed324cf7b0b15374af5493f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"07532280-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb4de0a1-a4ff-4061-a4ff-870375e128d0","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.308208} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.691917,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"07532280-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"07532280-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"07532280-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c/signaling 200 8ms","method":"POST","requestID":"07532280-0fed-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1c68c878-2eb0-4f7f-a521-b2d91def8f53': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1c68c878-2eb0-4f7f-a521-b2d91def8f53","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"910310e3-273d-47ff-acfa-2af1da2d0014","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.3152924} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0754d030-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1771ae7-5254-4b60-9600-3f9c8f686f66","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.3155437} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"0946d9b5ed324cf7b0b15374af5493f8","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F252edd04-847f-4b7e-8eed-bf78557d4b01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"246c1941-bd9d-4159-abaa-178fe8a086db","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.3203697} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.592318,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0754d030-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/252edd04-847f-4b7e-8eed-bf78557d4b01","object_type":"device","rebac_allow":false,"scope_allow":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":"0754d030-0fed-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0754d030-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/252edd04-847f-4b7e-8eed-bf78557d4b01/signaling 200 33ms","method":"POST","requestID":"0754d030-0fed-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/252edd04-847f-4b7e-8eed-bf78557d4b01/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53","requestID":"0946d9b5ed324cf7b0b15374af5493f8"} experiment-1 | {"level":"info","message":"DELETE /experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53 204 254ms","method":"DELETE","requestID":"0946d9b5ed324cf7b0b15374af5493f8","responseTime":254,"status":204,"url":"/experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53"} gateway-1 | {"time_local":"02/Apr/2025:18:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1c68c878-2eb0-4f7f-a521-b2d91def8f53 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.256","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0946d9b5ed324cf7b0b15374af5493f8"} gateway-1 | {"time_local":"02/Apr/2025:18:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2363","request_time":"3.005","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"89c856441a08e34a1bed1ebbf5dc2125"} gateway-1 | {"time_local":"02/Apr/2025:18:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2365","request_time":"2.972","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"e8dc59c76f2f967efdd8b538d330b95d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 231ms","method":"POST","requestID":"3041472a80368ca7cd96594f802a8de3","responseTime":231,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.234","http_referrer":"","http_user_agent":"node-fetch","requestID":"3041472a80368ca7cd96594f802a8de3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExNX0.3beaS8gXekhqzEaIyeIVYbK4RZ5BB72h0dUwSoBUn6w","level":"info","message":"auth send jwt","requestID":"fd9a0e17d366cfaf65995162d74399e2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fd9a0e17d366cfaf65995162d74399e2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6c51eb7d-5ee2-4a0b-b121-e3a2a7624f1c' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 233ms","method":"POST","requestID":"d9a60b04579fec70cbe7ff79a527f48b","responseTime":233,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.236","http_referrer":"","http_user_agent":"node-fetch","requestID":"d9a60b04579fec70cbe7ff79a527f48b"} device-1 | {"level":"info","message":"postDevices called","requestID":"fd9a0e17d366cfaf65995162d74399e2"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.930648,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fd9a0e17d366cfaf65995162d74399e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617115,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExNX0.3beaS8gXekhqzEaIyeIVYbK4RZ5BB72h0dUwSoBUn6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fd9a0e17d366cfaf65995162d74399e2","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/252edd04-847f-4b7e-8eed-bf78557d4b01' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e51a63ab-54b2-4699-8aaf-78d3e202f73d","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.491698} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fd9a0e17d366cfaf65995162d74399e2","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f391dc6d-8a4e-4622-8380-7e9f039f2e39","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.4968255} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"fd9a0e17d366cfaf65995162d74399e2","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"9ddb00d4-506a-49b9-bb8e-c43bb5a1af54","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.5093167} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12a399a5-1232-4e54-a9a7-0c06829ef6e5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.509621} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"fd9a0e17d366cfaf65995162d74399e2","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:15.509280040Z"}]},"request_id":"e71cd999-09f7-4b45-903f-4ec124cc22c8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.538334} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"fd9a0e17d366cfaf65995162d74399e2","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fd9a0e17d366cfaf65995162d74399e2"} gateway-1 | {"time_local":"02/Apr/2025:18:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd9a0e17d366cfaf65995162d74399e2"} device-1 | {"level":"info","message":"POST /devices? 201 91ms","method":"POST","requestID":"fd9a0e17d366cfaf65995162d74399e2","responseTime":91,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExNX0.3beaS8gXekhqzEaIyeIVYbK4RZ5BB72h0dUwSoBUn6w","level":"info","message":"auth send jwt","requestID":"9ba557e5ae9be4edb56946bc2e641d0c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9ba557e5ae9be4edb56946bc2e641d0c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9ba557e5ae9be4edb56946bc2e641d0c"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.787551,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"9ba557e5ae9be4edb56946bc2e641d0c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617115,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExNX0.3beaS8gXekhqzEaIyeIVYbK4RZ5BB72h0dUwSoBUn6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9ba557e5ae9be4edb56946bc2e641d0c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f2742710-2a5c-4663-b952-0b6d86fed3c3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.5918896} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9ba557e5ae9be4edb56946bc2e641d0c","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e6cc13e-2404-44e8-87fa-b992de55e8c7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.596785} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9ba557e5ae9be4edb56946bc2e641d0c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"edefa61e-34f6-41c3-a5d0-f4119049163f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.6070836} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a0e71ec-3ecf-4daa-a2db-0b032cdeea41","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.6073158} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"9ba557e5ae9be4edb56946bc2e641d0c","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:15.607054697Z"}]},"request_id":"2390dd50-3273-4379-819c-3fc6a0b2ae4a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617115.6113439} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9ba557e5ae9be4edb56946bc2e641d0c"} device-1 | {"level":"info","message":"POST /devices? 201 91ms","method":"POST","requestID":"9ba557e5ae9be4edb56946bc2e641d0c","responseTime":91,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9ba557e5ae9be4edb56946bc2e641d0c","responseTime":3,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"02/Apr/2025:18:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ba557e5ae9be4edb56946bc2e641d0c"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e319dec4f0997e2cb5bce8e59482c950","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e319dec4f0997e2cb5bce8e59482c950","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:05:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/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":"e319dec4f0997e2cb5bce8e59482c950"} device-1 | {"level":"info","message":"OPTIONS /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/websocket 200 1ms","method":"OPTIONS","requestID":"e319dec4f0997e2cb5bce8e59482c950","responseTime":1,"status":200,"url":"/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExN30.MHHPKl446OAPSQH3cVG1FQXSyI8kvfTosdh-_lz7ngs","level":"info","message":"auth send jwt","requestID":"d5b1a8d9e100bf81e6b63d26e4a544d4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d5b1a8d9e100bf81e6b63d26e4a544d4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d5b1a8d9e100bf81e6b63d26e4a544d4"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:17Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664653,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"d5b1a8d9e100bf81e6b63d26e4a544d4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617117,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExN30.MHHPKl446OAPSQH3cVG1FQXSyI8kvfTosdh-_lz7ngs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d5b1a8d9e100bf81e6b63d26e4a544d4","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d5b1a8d9e100bf81e6b63d26e4a544d4"} gateway-1 | {"time_local":"02/Apr/2025:18:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/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":"d5b1a8d9e100bf81e6b63d26e4a544d4"} device-1 | {"level":"info","message":"POST /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/websocket 200 41ms","method":"POST","requestID":"d5b1a8d9e100bf81e6b63d26e4a544d4","responseTime":41,"status":200,"url":"/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4a0e8aff02b447f47ba907a72c55b20c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4a0e8aff02b447f47ba907a72c55b20c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/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":"4a0e8aff02b447f47ba907a72c55b20c"} device-1 | {"level":"info","message":"OPTIONS /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/websocket 200 1ms","method":"OPTIONS","requestID":"4a0e8aff02b447f47ba907a72c55b20c","responseTime":1,"status":200,"url":"/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws","level":"info","message":"auth send jwt","requestID":"aa1294cc36bf426a3dc4f156427edec5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aa1294cc36bf426a3dc4f156427edec5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"aa1294cc36bf426a3dc4f156427edec5"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891043,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"aa1294cc36bf426a3dc4f156427edec5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"aa1294cc36bf426a3dc4f156427edec5","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"aa1294cc36bf426a3dc4f156427edec5"} gateway-1 | {"time_local":"02/Apr/2025:18:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/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":"aa1294cc36bf426a3dc4f156427edec5"} device-1 | {"level":"info","message":"POST /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/websocket 200 40ms","method":"POST","requestID":"aa1294cc36bf426a3dc4f156427edec5","responseTime":40,"status":200,"url":"/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws","level":"info","message":"auth send jwt","requestID":"05832dcc4261a0e279cf2bbc5796bc91"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"05832dcc4261a0e279cf2bbc5796bc91","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"05832dcc4261a0e279cf2bbc5796bc91"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643048,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"05832dcc4261a0e279cf2bbc5796bc91","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"05832dcc4261a0e279cf2bbc5796bc91","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:15.509280040Z"}]},"request_id":"899111a2-aed6-4301-a685-5afa948eb56e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.1397479} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"05832dcc4261a0e279cf2bbc5796bc91","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"05832dcc4261a0e279cf2bbc5796bc91"} gateway-1 | {"time_local":"02/Apr/2025:18:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac? 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":"05832dcc4261a0e279cf2bbc5796bc91"} device-1 | {"level":"info","message":"GET /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac? 200 9ms","method":"GET","requestID":"05832dcc4261a0e279cf2bbc5796bc91","responseTime":9,"status":200,"url":"/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws","level":"info","message":"auth send jwt","requestID":"380cee3b10794ce33d84c50c372cc147"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"380cee3b10794ce33d84c50c372cc147","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"380cee3b10794ce33d84c50c372cc147"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682071,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"380cee3b10794ce33d84c50c372cc147","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"380cee3b10794ce33d84c50c372cc147","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:15.607054697Z"}]},"request_id":"c2cf55de-1422-45a9-8c8d-8cc786dd3300","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.1786296} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"380cee3b10794ce33d84c50c372cc147","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"380cee3b10794ce33d84c50c372cc147"} gateway-1 | {"time_local":"02/Apr/2025:18:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6? 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":"380cee3b10794ce33d84c50c372cc147"} device-1 | {"level":"info","message":"GET /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6? 200 35ms","method":"GET","requestID":"380cee3b10794ce33d84c50c372cc147","responseTime":35,"status":200,"url":"/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws","level":"info","message":"auth send jwt","requestID":"110842f483ddb129445a4cfa461ad043"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"110842f483ddb129445a4cfa461ad043","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"110842f483ddb129445a4cfa461ad043"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.276576,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"110842f483ddb129445a4cfa461ad043","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"110842f483ddb129445a4cfa461ad043","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Attempting to run experiment","requestID":"110842f483ddb129445a4cfa461ad043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Attempting to book experiment","requestID":"110842f483ddb129445a4cfa461ad043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Successfully booked experiment","requestID":"110842f483ddb129445a4cfa461ad043"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0913be40-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"09140c60-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650573,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0913be40-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0913be40-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679766,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"09140c60-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"09140c60-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:15.509280040Z"}]},"request_id":"9ef75957-da7e-46ee-a5ce-b4977f448612","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.2749143} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0913be40-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:15.607054697Z"}]},"request_id":"6af3a630-1c55-4c73-8f83-577bce988059","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.2793338} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0913be40-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"09140c60-0fed-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac? 200 36ms","method":"GET","requestID":"0913be40-0fed-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"09140c60-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6? 200 36ms","method":"GET","requestID":"09140c60-0fed-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Setting up experiment","requestID":"110842f483ddb129445a4cfa461ad043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"110842f483ddb129445a4cfa461ad043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Successfully locked booking for experiment","requestID":"110842f483ddb129445a4cfa461ad043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"110842f483ddb129445a4cfa461ad043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"110842f483ddb129445a4cfa461ad043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Attempting to update booking for experiment","requestID":"110842f483ddb129445a4cfa461ad043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Successfully updated booking for experiment","requestID":"110842f483ddb129445a4cfa461ad043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Successfully set up experiment","requestID":"110842f483ddb129445a4cfa461ad043"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"09271f30-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"09274640-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"09279460-0fed-11f0-b95a-67cf87457f46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Successfully running experiment","requestID":"110842f483ddb129445a4cfa461ad043"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.786039,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"09271f30-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"09271f30-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.820772,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"09274640-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"09274640-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"507951bf-0dde-4386-b941-ed0b8a8c4717","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.379301} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.675479,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"09279460-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"09279460-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:15.509280040Z"}]},"request_id":"260dad53-16c9-4f72-b524-7d427f49fb88","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.3812022} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"09271f30-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"09279460-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:15.607054697Z"}]},"request_id":"a7822fd5-afca-442e-b3c2-c4964125e10a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.3848124} device-1 | {"level":"info","message":"POST /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/signaling 200 11ms","method":"POST","requestID":"09279460-0fed-11f0-b95a-67cf87457f46","responseTime":11,"status":200,"url":"/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"09274640-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"09299030-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"09271f30-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac? 200 18ms","method":"GET","requestID":"09271f30-0fed-11f0-b95a-67cf87457f46","responseTime":18,"status":200,"url":"/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac?"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc6b98a10-c5d6-483f-a419-b7913daa2f84#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc6b98a10-c5d6-483f-a419-b7913daa2f84","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"558cf2b0-a3b1-4221-bd2c-7dbaf1009f04","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.3889868} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"09274640-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47eca1bf-4220-4f1f-befe-5a8cad541fce","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.3890705} device-1 | {"level":"info","message":"GET /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6? 200 18ms","method":"GET","requestID":"09274640-0fed-11f0-b95a-67cf87457f46","responseTime":18,"status":200,"url":"/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"110842f483ddb129445a4cfa461ad043","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c68369bf-f2a0-4e07-97ec-a22c55018c20","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.3918488} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.62558,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"092a5380-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"09299030-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","object_type":"device","rebac_allow":false,"scope_allow":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":"09299030-0fed-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"09299030-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/signaling 200 33ms","method":"POST","requestID":"09299030-0fed-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/signaling"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db3c0520-9d16-4ced-b364-15d57e164009","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.421423} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.980506,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"110842f483ddb129445a4cfa461ad043"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"092a5380-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"02/Apr/2025:18:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.239","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"110842f483ddb129445a4cfa461ad043"} experiment-1 | {"level":"info","message":"POST /experiments? 201 235ms","method":"POST","requestID":"110842f483ddb129445a4cfa461ad043","responseTime":235,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"092a5380-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"092a5380-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/signaling 200 33ms","method":"POST","requestID":"092a5380-0fed-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws","level":"info","message":"auth send jwt","requestID":"2d6e3950f5405a472dcda49d681a6ebd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2d6e3950f5405a472dcda49d681a6ebd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"092faab0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2d6e3950f5405a472dcda49d681a6ebd"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709911,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"2d6e3950f5405a472dcda49d681a6ebd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2d6e3950f5405a472dcda49d681a6ebd","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"068bebd8-d35f-45d7-b255-5208aad8d301","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.4315975} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.533929,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"092faab0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"092faab0-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:15.509280040Z"}]},"request_id":"4ba358c5-324f-4ca1-b873-835f99e211d7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.4351144} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"092faab0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2d6e3950f5405a472dcda49d681a6ebd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/signaling 200 9ms","method":"POST","requestID":"092faab0-0fed-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"110842f483ddb129445a4cfa461ad043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Building connection plan","requestID":"110842f483ddb129445a4cfa461ad043"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"c204c3db-e599-4b0a-b671-d167044acbc9"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e8e7d04e-dd68-48f1-93f1-9987af349be8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c4503c0f-1fb9-45d5-8948-91a26635a60b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"110842f483ddb129445a4cfa461ad043"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"110842f483ddb129445a4cfa461ad043"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2d6e3950f5405a472dcda49d681a6ebd"} gateway-1 | {"time_local":"02/Apr/2025:18:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac? 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":"2d6e3950f5405a472dcda49d681a6ebd"} device-1 | {"level":"info","message":"GET /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac? 200 10ms","method":"GET","requestID":"2d6e3950f5405a472dcda49d681a6ebd","responseTime":10,"status":200,"url":"/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"09317f70-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.601562,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws","level":"info","message":"auth send jwt","requestID":"cd97d7022ce78f4f3d49005de37adf0b"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"cd97d7022ce78f4f3d49005de37adf0b","responseTime":26,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"09317f70-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"09317f70-0fed-11f0-b95a-67cf87457f46","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cd97d7022ce78f4f3d49005de37adf0b"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.915118,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"cd97d7022ce78f4f3d49005de37adf0b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cd97d7022ce78f4f3d49005de37adf0b","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"670269c9-956d-4986-97c9-95da6e5e118a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.4769993} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"923fcf57-4d08-427c-a9fe-93a36cddf9a9","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.477303} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:15.607054697Z"}]},"request_id":"a5c5f239-d29c-46cd-8025-1866e2fa92e6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.478061} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"09317f70-0fed-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cd97d7022ce78f4f3d49005de37adf0b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cd97d7022ce78f4f3d49005de37adf0b"} device-1 | {"level":"info","message":"GET /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6? 200 12ms","method":"GET","requestID":"cd97d7022ce78f4f3d49005de37adf0b","responseTime":12,"status":200,"url":"/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6?"} gateway-1 | {"time_local":"02/Apr/2025:18:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cd97d7022ce78f4f3d49005de37adf0b"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"09317f70-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"09317f70-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5'","requestID":"09317f70-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5'","requestID":"09317f70-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"09317f70-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 89ms","method":"POST","requestID":"09317f70-0fed-11f0-b95a-67cf87457f46","responseTime":89,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"09317f70-0fed-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5","device":"57cafabb-f925-4718-9f1b-62e1854bf9d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5","device":"d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"110842f483ddb129445a4cfa461ad043"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0946dc30-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9cb49ad5-98db-4418-a143-a6c44fa51fe6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.6089742} device-1 | {"device":"57cafabb-f925-4718-9f1b-62e1854bf9d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"57cafabb-f925-4718-9f1b-62e1854bf9d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.643716,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0946dc30-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","object_type":"device","rebac_allow":false,"scope_allow":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":"0946dc30-0fed-11f0-b95a-67cf87457f46","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0946dc30-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/signaling 200 35ms","method":"POST","requestID":"0946dc30-0fed-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"094ca890-0fed-11f0-b95a-67cf87457f46"} device-1 | {"device":"d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16f11071-1ab0-44ea-ae25-4ade98a97d27","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.621536} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.485619,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"094ca890-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"094ca890-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"094ca890-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/signaling 200 9ms","method":"POST","requestID":"094ca890-0fed-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8777126876851681274 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:ALy7\r\na=ice-pwd:LRcBxDGjLpWByvdTZR9LANg8\r\na=ice-options:trickle\r\na=fingerprint:sha-256 5A:A8:17:7A:64:35:47:F5:35:F1:07:39:E1:FD:3E:F7:AD:68:52:1A:5B:CA:77:0A:FA:3A:9C:BB:71:24:77:9F\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"57cafabb-f925-4718-9f1b-62e1854bf9d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 7423023417789390361 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:XEuA\r\na=ice-pwd:NXvqyUIPoXOsrtderUh6ZF/g\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4B:C8:DF:97:77:92:A8:43:95:30:28:E3:78:F8:C6:3A:2A:43:B3:E8:35:DD:38:09:A9:39:C0:C4:96:43:39:41\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3739980621 1 udp 2113937151 a6a7f805-ee17-435e-9af7-77954fffab48.local 49659 typ host generation 0 ufrag XEuA network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","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/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac'"} device-1 | {"content":{"candidate":"candidate:2131605876 1 udp 2113937151 1eda7465-90a2-4a19-984e-b9b5ce0c42ba.local 35464 typ host generation 0 ufrag ALy7 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"57cafabb-f925-4718-9f1b-62e1854bf9d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"57cafabb-f925-4718-9f1b-62e1854bf9d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","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/87d09d06-f34e-4bf3-99a8-d62e34e66ee5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"87d09d06-f34e-4bf3-99a8-d62e34e66ee5","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a3f1a395f2a338aac8e7c02d479322a7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a3f1a395f2a338aac8e7c02d479322a7","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"57cafabb-f925-4718-9f1b-62e1854bf9d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"57cafabb-f925-4718-9f1b-62e1854bf9d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5"}}},"level":"info","message":"received a callback","requestID":"a3f1a395f2a338aac8e7c02d479322a7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"a3f1a395f2a338aac8e7c02d479322a7","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"a3f1a395f2a338aac8e7c02d479322a7"} device-1 | {"data":{"peerconnection":"87d09d06-f34e-4bf3-99a8-d62e34e66ee5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"87d09d06-f34e-4bf3-99a8-d62e34e66ee5","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/87d09d06-f34e-4bf3-99a8-d62e34e66ee5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"87d09d06-f34e-4bf3-99a8-d62e34e66ee5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4cc8af9d6f43614ac2614a6f86b7cbf3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5"}}},"level":"info","message":"received a callback","requestID":"4cc8af9d6f43614ac2614a6f86b7cbf3"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4cc8af9d6f43614ac2614a6f86b7cbf3","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"0969cd80-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws","level":"info","message":"auth send jwt","requestID":"8472794839c384660ce649d6a4596655"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8472794839c384660ce649d6a4596655","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84","requestID":"8472794839c384660ce649d6a4596655"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F87d09d06-f34e-4bf3-99a8-d62e34e66ee5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f92b40a-2eac-4de9-abe7-8b79793b847a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.8125937} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.443746,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0969cd80-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5","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":"0969cd80-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"0969cd80-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5 200 8ms","method":"GET","requestID":"0969cd80-0fed-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.890415,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"8472794839c384660ce649d6a4596655","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8472794839c384660ce649d6a4596655","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84","requestID":"8472794839c384660ce649d6a4596655"} gateway-1 | {"time_local":"02/Apr/2025:18:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8472794839c384660ce649d6a4596655"} experiment-1 | {"level":"info","message":"GET /experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84 200 12ms","method":"GET","requestID":"8472794839c384660ce649d6a4596655","responseTime":12,"status":200,"url":"/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"4cc8af9d6f43614ac2614a6f86b7cbf3","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch","requestID":"4cc8af9d6f43614ac2614a6f86b7cbf3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"09714790-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e400abd8-a7d2-43a5-b897-ce85feae496a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.8611825} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.227075,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"09714790-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"09714790-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"09714790-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/signaling 200 7ms","method":"POST","requestID":"09714790-0fed-11f0-b95a-67cf87457f46","responseTime":7,"status":200,"url":"/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0972a720-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8497b693-6373-44d6-b754-07326966f64f","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617118.8699703} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.241217,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0972a720-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","object_type":"device","rebac_allow":false,"scope_allow":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":"0972a720-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0972a720-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/signaling 200 31ms","method":"POST","requestID":"0972a720-0fed-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws","level":"info","message":"auth send jwt","requestID":"4e4efafe59b0f94a1e7c2a87cc676821"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4e4efafe59b0f94a1e7c2a87cc676821","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84","requestID":"4e4efafe59b0f94a1e7c2a87cc676821"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.68289,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"4e4efafe59b0f94a1e7c2a87cc676821","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"4e4efafe59b0f94a1e7c2a87cc676821","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84","requestID":"4e4efafe59b0f94a1e7c2a87cc676821"} gateway-1 | {"time_local":"02/Apr/2025:18:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e4efafe59b0f94a1e7c2a87cc676821"} experiment-1 | {"level":"info","message":"GET /experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84 200 8ms","method":"GET","requestID":"4e4efafe59b0f94a1e7c2a87cc676821","responseTime":8,"status":200,"url":"/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws","level":"info","message":"auth send jwt","requestID":"47df86a58f4c4266c09eb7f8ef57d81e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"47df86a58f4c4266c09eb7f8ef57d81e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84","requestID":"47df86a58f4c4266c09eb7f8ef57d81e"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.648807,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"47df86a58f4c4266c09eb7f8ef57d81e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"47df86a58f4c4266c09eb7f8ef57d81e","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Attempting to finish experiment","requestID":"47df86a58f4c4266c09eb7f8ef57d81e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"09860810-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.852141,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"09860810-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617118,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOH0.bbRG11BFSKeMbqZYDWVI4eJy-Q0RtNbffZfK6hLEiws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"09860810-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5","device":"d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5","device":"57cafabb-f925-4718-9f1b-62e1854bf9d6","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/87d09d06-f34e-4bf3-99a8-d62e34e66ee5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"87d09d06-f34e-4bf3-99a8-d62e34e66ee5","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F87d09d06-f34e-4bf3-99a8-d62e34e66ee5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F87d09d06-f34e-4bf3-99a8-d62e34e66ee5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"03c0dabd-e135-4aa1-b971-98840adfab2c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.00677} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d814ee37-085a-4401-8cba-90ce2707fa7c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.007072} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"54d9059068f2d393e567e4993ecb7857","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"54d9059068f2d393e567e4993ecb7857","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"09860810-0fed-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b37486686552962c65453cb0477c4e2a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5"}}},"level":"info","message":"received a callback","requestID":"54d9059068f2d393e567e4993ecb7857"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b37486686552962c65453cb0477c4e2a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5"}}},"level":"info","message":"received a callback","requestID":"b37486686552962c65453cb0477c4e2a"} device-1 | {"data":{"peerconnection":"87d09d06-f34e-4bf3-99a8-d62e34e66ee5","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"09860810-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5 204 66ms","method":"DELETE","requestID":"09860810-0fed-11f0-b95a-67cf87457f46","responseTime":66,"status":204,"url":"/peerconnections/87d09d06-f34e-4bf3-99a8-d62e34e66ee5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"},"level":"info","message":"Successfully finished experiment","requestID":"47df86a58f4c4266c09eb7f8ef57d81e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0995e690-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:19Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5d8b5b8-53c6-4157-abf3-0fba9787c7ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"982d3b92-f434-4aae-b44d-50b5ede437bf","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.1019838} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.325955,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0995e690-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac","object_type":"device","rebac_allow":false,"scope_allow":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":"0995e690-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0995e690-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/signaling 200 9ms","method":"POST","requestID":"0995e690-0fed-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"09979440-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:19Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57cafabb-f925-4718-9f1b-62e1854bf9d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a30ad8bd-4d44-4149-b4f4-df9dcdbbd7eb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.1371367} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc6b98a10-c5d6-483f-a419-b7913daa2f84': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc6b98a10-c5d6-483f-a419-b7913daa2f84","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"339f5f92-0c46-44da-862c-693f5774b971","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.1372633} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4602100-3248-4266-b348-a97fa0daa6e1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.137545} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"47df86a58f4c4266c09eb7f8ef57d81e","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.874014,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"09979440-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6","object_type":"device","rebac_allow":false,"scope_allow":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":"09979440-0fed-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"09979440-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/signaling 200 36ms","method":"POST","requestID":"09979440-0fed-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84","requestID":"47df86a58f4c4266c09eb7f8ef57d81e"} gateway-1 | {"time_local":"02/Apr/2025:18:05:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.285","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47df86a58f4c4266c09eb7f8ef57d81e"} experiment-1 | {"level":"info","message":"DELETE /experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84 204 282ms","method":"DELETE","requestID":"47df86a58f4c4266c09eb7f8ef57d81e","responseTime":282,"status":204,"url":"/experiments/c6b98a10-c5d6-483f-a419-b7913daa2f84"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 236ms","method":"POST","requestID":"54d9059068f2d393e567e4993ecb7857","responseTime":236,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05: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.239","http_referrer":"","http_user_agent":"node-fetch","requestID":"54d9059068f2d393e567e4993ecb7857"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 236ms","method":"POST","requestID":"b37486686552962c65453cb0477c4e2a","responseTime":236,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05: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.240","http_referrer":"","http_user_agent":"node-fetch","requestID":"b37486686552962c65453cb0477c4e2a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOX0.fNPc4zD-gInYIgxBcqxmfeKgeBXuR5MlLA5UH6ysMAI","level":"info","message":"auth send jwt","requestID":"fa0b82b9fd24cde543f080f1de255e33"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fa0b82b9fd24cde543f080f1de255e33","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"fa0b82b9fd24cde543f080f1de255e33"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:19Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.110559,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"fa0b82b9fd24cde543f080f1de255e33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617119,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOX0.fNPc4zD-gInYIgxBcqxmfeKgeBXuR5MlLA5UH6ysMAI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fa0b82b9fd24cde543f080f1de255e33","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:18:05:19 +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.161","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9b92d4f69f0e48a81a639fa5e0ee0cc0"} gateway-1 | {"time_local":"02/Apr/2025:18:05:19 +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.215","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5595a9ede3a30ae2e52cec7fffefd48c"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/57cafabb-f925-4718-9f1b-62e1854bf9d6' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d5d8b5b8-53c6-4157-abf3-0fba9787c7ac' 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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa7826113-460f-463c-8d17-238cc3b9a051","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"040945fd-5886-404d-8352-1c0c6abd7823","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.3339827} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"fa0b82b9fd24cde543f080f1de255e33","responseTime":30,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4925edfa-6239-4b41-8381-613ce2c68282","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.3383262} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"fa0b82b9fd24cde543f080f1de255e33","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa7826113-460f-463c-8d17-238cc3b9a051","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"d9b50950-c846-4de1-a6a3-f2918688ecf7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.3463266} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43688a27-c56c-4154-8289-6c749c9e51f1","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.3465102} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"fa0b82b9fd24cde543f080f1de255e33","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa7826113-460f-463c-8d17-238cc3b9a051","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa7826113-460f-463c-8d17-238cc3b9a051","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:19.346297041Z"}]},"request_id":"fc83b543-72ad-491d-9980-5574611c6cc8","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.3497143} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fa0b82b9fd24cde543f080f1de255e33","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fa0b82b9fd24cde543f080f1de255e33"} gateway-1 | {"time_local":"02/Apr/2025:18:05:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.107","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa0b82b9fd24cde543f080f1de255e33"} device-1 | {"level":"info","message":"POST /devices? 201 104ms","method":"POST","requestID":"fa0b82b9fd24cde543f080f1de255e33","responseTime":104,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOX0.fNPc4zD-gInYIgxBcqxmfeKgeBXuR5MlLA5UH6ysMAI","level":"info","message":"auth send jwt","requestID":"ec62717e005f3adcd37d7b6c1a8a12d1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ec62717e005f3adcd37d7b6c1a8a12d1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ec62717e005f3adcd37d7b6c1a8a12d1"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:19Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.838809,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"ec62717e005f3adcd37d7b6c1a8a12d1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617119,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzExOX0.fNPc4zD-gInYIgxBcqxmfeKgeBXuR5MlLA5UH6ysMAI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ec62717e005f3adcd37d7b6c1a8a12d1","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1205155c-5be5-45bf-9c20-fd641f68a822","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.3944843} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ec62717e005f3adcd37d7b6c1a8a12d1","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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e685f037-fc1f-433f-9bf1-8f9d70a03d85","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.3979754} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ec62717e005f3adcd37d7b6c1a8a12d1","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"34887ff1-404e-4f0c-8900-3821c9d4ce25","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.4314885} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f54903c-b7c4-4b99-9834-98129f0645c3","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.431538} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"ec62717e005f3adcd37d7b6c1a8a12d1","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:19.431455134Z"}]},"request_id":"eb46908e-b837-437d-81b9-7a36d2dabd82","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617119.4350579} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ec62717e005f3adcd37d7b6c1a8a12d1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ec62717e005f3adcd37d7b6c1a8a12d1"} gateway-1 | {"time_local":"02/Apr/2025:18:05:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ec62717e005f3adcd37d7b6c1a8a12d1"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"ec62717e005f3adcd37d7b6c1a8a12d1","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3762a70bb5a3c30a745bb50b271aa08f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3762a70bb5a3c30a745bb50b271aa08f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b4939e12-06e0-4a66-b21a-50315d05c240/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":"3762a70bb5a3c30a745bb50b271aa08f"} device-1 | {"level":"info","message":"OPTIONS /devices/b4939e12-06e0-4a66-b21a-50315d05c240/websocket 200 1ms","method":"OPTIONS","requestID":"3762a70bb5a3c30a745bb50b271aa08f","responseTime":1,"status":200,"url":"/devices/b4939e12-06e0-4a66-b21a-50315d05c240/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o","level":"info","message":"auth send jwt","requestID":"03de71109ecca542ccf93bfbc362cf98"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"03de71109ecca542ccf93bfbc362cf98","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"03de71109ecca542ccf93bfbc362cf98"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.896313,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"03de71109ecca542ccf93bfbc362cf98","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617121,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"03de71109ecca542ccf93bfbc362cf98","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"03de71109ecca542ccf93bfbc362cf98"} gateway-1 | {"time_local":"02/Apr/2025:18:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b4939e12-06e0-4a66-b21a-50315d05c240/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"03de71109ecca542ccf93bfbc362cf98"} device-1 | {"level":"info","message":"POST /devices/b4939e12-06e0-4a66-b21a-50315d05c240/websocket 200 17ms","method":"POST","requestID":"03de71109ecca542ccf93bfbc362cf98","responseTime":17,"status":200,"url":"/devices/b4939e12-06e0-4a66-b21a-50315d05c240/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o","level":"info","message":"auth send jwt","requestID":"91874581489b601663df11a022a33954"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"91874581489b601663df11a022a33954","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91874581489b601663df11a022a33954"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.593965,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"91874581489b601663df11a022a33954","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617121,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"91874581489b601663df11a022a33954","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:19.431455134Z"}]},"request_id":"262e24e6-d86d-4090-b2fb-b177c3edd554","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617121.7791653} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"91874581489b601663df11a022a33954","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91874581489b601663df11a022a33954"} gateway-1 | {"time_local":"02/Apr/2025:18:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b4939e12-06e0-4a66-b21a-50315d05c240? 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":"91874581489b601663df11a022a33954"} device-1 | {"level":"info","message":"GET /devices/b4939e12-06e0-4a66-b21a-50315d05c240? 200 9ms","method":"GET","requestID":"91874581489b601663df11a022a33954","responseTime":9,"status":200,"url":"/devices/b4939e12-06e0-4a66-b21a-50315d05c240?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o","level":"info","message":"auth send jwt","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5ce79ce19cc9026efa7c4e43d618db30","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.793102,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"5ce79ce19cc9026efa7c4e43d618db30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617121,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5ce79ce19cc9026efa7c4e43d618db30","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Attempting to run experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Attempting to book experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Successfully booked experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b393650-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b395d60-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.793275,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a7826113-460f-463c-8d17-238cc3b9a051","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0b393650-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/a7826113-460f-463c-8d17-238cc3b9a051","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617121,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"0b393650-0fed-11f0-b95a-67cf87457f46","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710232,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0b395d60-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617121,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"0b395d60-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa7826113-460f-463c-8d17-238cc3b9a051","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa7826113-460f-463c-8d17-238cc3b9a051","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:19.346297041Z"}]},"request_id":"258238c5-e0bf-435e-9eaa-ff9ca2a17a7c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617121.8764985} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0b393650-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:19.431455134Z"}]},"request_id":"e783c44a-a220-43f4-ac5a-7428cc18d561","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617121.877192} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0b395d60-0fed-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b393650-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/a7826113-460f-463c-8d17-238cc3b9a051? 200 35ms","method":"GET","requestID":"0b393650-0fed-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/a7826113-460f-463c-8d17-238cc3b9a051?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b395d60-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/b4939e12-06e0-4a66-b21a-50315d05c240? 200 35ms","method":"GET","requestID":"0b395d60-0fed-11f0-b95a-67cf87457f46","responseTime":35,"status":200,"url":"/devices/b4939e12-06e0-4a66-b21a-50315d05c240?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Setting up experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"0b40fe80-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729995,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:21Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/a7826113-460f-463c-8d17-238cc3b9a051","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0b40fe80-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/a7826113-460f-463c-8d17-238cc3b9a051","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617121,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0b40fe80-0fed-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"04464213-e665-406a-9960-d54557e07601","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617121.9402862} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"58b3e7d3-7c69-4194-8273-41ee3f7db92c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617121.940464} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"0b40fe80-0fed-11f0-b95a-67cf87457f46","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890' to 'http://localhost/callbacks/experiment'","requestID":"0b40fe80-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"0b40fe80-0fed-11f0-b95a-67cf87457f46"} authentication-1 | {"level":"info","message":"POST /token 201 39ms","method":"POST","requestID":"0b487890-0fed-11f0-8e69-c36cf14ae4bd","responseTime":39,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/a7826113-460f-463c-8d17-238cc3b9a051?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 92ms","method":"POST","requestID":"0b40fe80-0fed-11f0-b95a-67cf87457f46","responseTime":92,"status":201,"url":"/devices/a7826113-460f-463c-8d17-238cc3b9a051?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Successfully set up experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b5b8b60-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b5bd980-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b5c0090-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:22Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.862267,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:22Z"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:22Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Successfully running experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0b5b8b60-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617121,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0b5b8b60-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45676","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673416,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0b5bd980-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617121,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0b5bd980-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:22Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.029025,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:22Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d9a550a-23c4-4c39-9c13-1d7db9981ea5","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617122.079297} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0b5c0090-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0b5c0090-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:19.431455134Z"}]},"request_id":"f0e5788d-9338-4ab9-9993-82c739be96ae","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617122.0808742} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0b5bd980-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:21.940261016Z"}]},"request_id":"b56c4db3-c084-4353-b73d-f219f8f05116","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617122.0829465} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0b5b8b60-0fed-11f0-b95a-67cf87457f46","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 617875a8-da6d-4899-9cfa-a4c511383890","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 617875a8-da6d-4899-9cfa-a4c511383890\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/617875a8-da6d-4899-9cfa-a4c511383890/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"0b5c0090-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/617875a8-da6d-4899-9cfa-a4c511383890/signaling 404 12ms","method":"POST","requestID":"0b5c0090-0fed-11f0-b95a-67cf87457f46","responseTime":12,"status":404,"url":"/devices/617875a8-da6d-4899-9cfa-a4c511383890/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 617875a8-da6d-4899-9cfa-a4c511383890"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b5bd980-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/b4939e12-06e0-4a66-b21a-50315d05c240? 200 15ms","method":"GET","requestID":"0b5bd980-0fed-11f0-b95a-67cf87457f46","responseTime":15,"status":200,"url":"/devices/b4939e12-06e0-4a66-b21a-50315d05c240?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b5e4a80-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b5b8b60-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/617875a8-da6d-4899-9cfa-a4c511383890? 200 19ms","method":"GET","requestID":"0b5b8b60-0fed-11f0-b95a-67cf87457f46","responseTime":19,"status":200,"url":"/devices/617875a8-da6d-4899-9cfa-a4c511383890?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01c86345-7038-4601-8c6d-b47096ec1e50","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617122.1142542} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff30b398b-5c12-463d-80c3-7e4953ef0980#owner@http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff30b398b-5c12-463d-80c3-7e4953ef0980","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"d90d12a6-bc81-4d11-87c7-05de03c7120e","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617122.1145136} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:22Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"5ce79ce19cc9026efa7c4e43d618db30","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.342552,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:22Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9421c892-8430-4486-9fbc-86b4737fa94c","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617122.1176615} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0b5e4a80-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","object_type":"device","rebac_allow":false,"scope_allow":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":"0b5e4a80-0fed-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980","user":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} gateway-1 | {"time_local":"02/Apr/2025:18:05:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.339","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} experiment-1 | {"level":"info","message":"POST /experiments? 201 335ms","method":"POST","requestID":"5ce79ce19cc9026efa7c4e43d618db30","responseTime":335,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b5e4a80-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b4939e12-06e0-4a66-b21a-50315d05c240/signaling 200 36ms","method":"POST","requestID":"0b5e4a80-0fed-11f0-b95a-67cf87457f46","responseTime":36,"status":200,"url":"/devices/b4939e12-06e0-4a66-b21a-50315d05c240/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"78b25695786394230ef832f428b6c6f7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"78b25695786394230ef832f428b6c6f7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/617875a8-da6d-4899-9cfa-a4c511383890/websocket 200 1ms","method":"OPTIONS","requestID":"78b25695786394230ef832f428b6c6f7","responseTime":1,"status":200,"url":"/devices/617875a8-da6d-4899-9cfa-a4c511383890/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/617875a8-da6d-4899-9cfa-a4c511383890/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":"78b25695786394230ef832f428b6c6f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6ImJsQndud1BvUVJGbXFuZ2QxekcwaGp4ZDE3ZUxETGFQSGpxaVRnaXE5Qk81TG9sTEhNcUFpUmNfYVliUnJwd1l5QUgwZ01qNXVnVVplY2NXbm5DUlVBIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyNH0.pQFicZAbYtgtmNtildRh7mUXQlbFWsbHTx6BCQ7UVBs","level":"info","message":"auth send jwt","requestID":"073789b2464446507f043cfe0dfa0a4a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"073789b2464446507f043cfe0dfa0a4a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"073789b2464446507f043cfe0dfa0a4a"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713817,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"073789b2464446507f043cfe0dfa0a4a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","object_type":"device","payload":{"admin":true,"edgeToken":"blBwnwPoQRFmqngd1zG0hjxd17eLDLaPHjqiTgiq9BO5LolLHMqAiRc_aYbRrpwYyAH0gMj5ugUZeccWnnCRUA","iat":1743617124,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6ImJsQndud1BvUVJGbXFuZ2QxekcwaGp4ZDE3ZUxETGFQSGpxaVRnaXE5Qk81TG9sTEhNcUFpUmNfYVliUnJwd1l5QUgwZ01qNXVnVVplY2NXbm5DUlVBIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyNH0.pQFicZAbYtgtmNtildRh7mUXQlbFWsbHTx6BCQ7UVBs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"073789b2464446507f043cfe0dfa0a4a","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"073789b2464446507f043cfe0dfa0a4a"} device-1 | {"level":"info","message":"POST /devices/617875a8-da6d-4899-9cfa-a4c511383890/websocket 200 47ms","method":"POST","requestID":"073789b2464446507f043cfe0dfa0a4a","responseTime":47,"status":200,"url":"/devices/617875a8-da6d-4899-9cfa-a4c511383890/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/617875a8-da6d-4899-9cfa-a4c511383890/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":"073789b2464446507f043cfe0dfa0a4a"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"75ceb16b7afd910ee5eb8e72baa1646e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"75ceb16b7afd910ee5eb8e72baa1646e","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/617875a8-da6d-4899-9cfa-a4c511383890"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"75ceb16b7afd910ee5eb8e72baa1646e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyNH0.zyYYQ1Y6zqgoiJUGRi145Vj5lgpkQINOhExZL2hQo7I","level":"info","message":"auth send jwt","requestID":"79a1ae2f4a59e5973de52b199fafe9cd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"79a1ae2f4a59e5973de52b199fafe9cd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"79a1ae2f4a59e5973de52b199fafe9cd"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713102,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"79a1ae2f4a59e5973de52b199fafe9cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617124,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyNH0.zyYYQ1Y6zqgoiJUGRi145Vj5lgpkQINOhExZL2hQo7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"79a1ae2f4a59e5973de52b199fafe9cd","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:21.940261016Z"}]},"request_id":"fec9615e-9b5e-4d01-b690-6485a2014d70","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617124.432423} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"79a1ae2f4a59e5973de52b199fafe9cd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"79a1ae2f4a59e5973de52b199fafe9cd"} gateway-1 | {"time_local":"02/Apr/2025:18:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/617875a8-da6d-4899-9cfa-a4c511383890? 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":"79a1ae2f4a59e5973de52b199fafe9cd"} device-1 | {"level":"info","message":"GET /devices/617875a8-da6d-4899-9cfa-a4c511383890? 200 9ms","method":"GET","requestID":"79a1ae2f4a59e5973de52b199fafe9cd","responseTime":9,"status":200,"url":"/devices/617875a8-da6d-4899-9cfa-a4c511383890?"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"75ceb16b7afd910ee5eb8e72baa1646e","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch","requestID":"75ceb16b7afd910ee5eb8e72baa1646e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyNH0.zyYYQ1Y6zqgoiJUGRi145Vj5lgpkQINOhExZL2hQo7I","level":"info","message":"auth send jwt","requestID":"83642610037fca40fb03397912494e9e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"83642610037fca40fb03397912494e9e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"83642610037fca40fb03397912494e9e"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.598529,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"83642610037fca40fb03397912494e9e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617124,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyNH0.zyYYQ1Y6zqgoiJUGRi145Vj5lgpkQINOhExZL2hQo7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"83642610037fca40fb03397912494e9e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:19.431455134Z"}]},"request_id":"12c0f383-993d-43de-bb35-f668f2d2d549","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617124.4704266} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"83642610037fca40fb03397912494e9e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"83642610037fca40fb03397912494e9e"} gateway-1 | {"time_local":"02/Apr/2025:18:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b4939e12-06e0-4a66-b21a-50315d05c240? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83642610037fca40fb03397912494e9e"} device-1 | {"level":"info","message":"GET /devices/b4939e12-06e0-4a66-b21a-50315d05c240? 200 33ms","method":"GET","requestID":"83642610037fca40fb03397912494e9e","responseTime":33,"status":200,"url":"/devices/b4939e12-06e0-4a66-b21a-50315d05c240?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0e5c2130-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0e5c4840-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.630777,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0e5c2130-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617121,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0e5c2130-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.774278,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0e5c4840-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617121,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0e5c4840-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:21.940261016Z"}]},"request_id":"4464412e-66c7-45e0-9dbb-4adcdaaa4e88","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.116299} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0e5c2130-0fed-11f0-b95a-67cf87457f46","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:45442","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"},"timestamp":"2025-04-02T18:05:19.431455134Z"}]},"request_id":"66c514de-a56c-47d2-8a29-69301bda0165","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.117159} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0e5c4840-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0e5c2130-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/617875a8-da6d-4899-9cfa-a4c511383890? 200 14ms","method":"GET","requestID":"0e5c2130-0fed-11f0-b95a-67cf87457f46","responseTime":14,"status":200,"url":"/devices/617875a8-da6d-4899-9cfa-a4c511383890?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0e5c4840-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /devices/b4939e12-06e0-4a66-b21a-50315d05c240? 200 13ms","method":"GET","requestID":"0e5c4840-0fed-11f0-b95a-67cf87457f46","responseTime":13,"status":200,"url":"/devices/b4939e12-06e0-4a66-b21a-50315d05c240?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0e5e9230-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63cd3613-07ec-4e3f-80c4-6325d3bf9fdb","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.1270478} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.593416,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0e5e9230-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","object_type":"device","rebac_allow":false,"scope_allow":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":"0e5e9230-0fed-11f0-b95a-67cf87457f46","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0e5e9230-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/617875a8-da6d-4899-9cfa-a4c511383890/signaling 200 32ms","method":"POST","requestID":"0e5e9230-0fed-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/devices/617875a8-da6d-4899-9cfa-a4c511383890/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0e63c250-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13f93ee8-21ac-4b8a-84e4-e500e3614f16","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.1615114} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.909597,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0e63c250-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0e63c250-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0e63c250-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b4939e12-06e0-4a66-b21a-50315d05c240/signaling 200 9ms","method":"POST","requestID":"0e63c250-0fed-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/b4939e12-06e0-4a66-b21a-50315d05c240/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Building connection plan","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"497aef90-4209-477d-8207-3ec7e39928fa"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"dd184e5a-3f65-4c95-a07a-ec04ea4e0c07"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"40c2f41e-9cf8-43ca-a2c7-0bd9b2d740ad"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"0e657000-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.751032,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0e657000-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617121,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyMX0.58PATKUWmRMaOxGPOvyqH1wR9qzr5TaB8izAu-Bi-6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0e657000-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","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%2F53de070c-e251-48c6-a706-d888dc324aa1'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]}},"raw_response":{},"request_id":"738c59a3-a126-4c4b-b736-1311b1cf9b73","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.1793354} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3ef70ab-74b8-400f-b120-88312d02f039","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.179545} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"0e657000-0fed-11f0-b95a-67cf87457f46","responseTime":25,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"0e657000-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"0e657000-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43'","requestID":"0e657000-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43'","requestID":"0e657000-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"0e657000-0fed-11f0-b95a-67cf87457f46"} 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":"0e657000-0fed-11f0-b95a-67cf87457f46","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":"0e657000-0fed-11f0-b95a-67cf87457f46"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43","device":"b4939e12-06e0-4a66-b21a-50315d05c240","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43","device":"617875a8-da6d-4899-9cfa-a4c511383890","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5ce79ce19cc9026efa7c4e43d618db30"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0e750060-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.828399,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0149f5be-8906-4b65-b29a-fde3e04c2d88","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.2749915} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0e750060-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","object_type":"device","rebac_allow":false,"scope_allow":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":"0e750060-0fed-11f0-b95a-67cf87457f46","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0e750060-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/617875a8-da6d-4899-9cfa-a4c511383890/signaling 200 31ms","method":"POST","requestID":"0e750060-0fed-11f0-b95a-67cf87457f46","responseTime":31,"status":200,"url":"/devices/617875a8-da6d-4899-9cfa-a4c511383890/signaling"} device-1 | {"device":"617875a8-da6d-4899-9cfa-a4c511383890","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"617875a8-da6d-4899-9cfa-a4c511383890","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0e7a0970-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"121e7e7d-b8ce-4ba7-bfa7-87920929325b","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.306896} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.341487,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0e7a0970-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","object_type":"device","rebac_allow":false,"scope_allow":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":"0e7a0970-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0e7a0970-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b4939e12-06e0-4a66-b21a-50315d05c240/signaling 200 8ms","method":"POST","requestID":"0e7a0970-0fed-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/b4939e12-06e0-4a66-b21a-50315d05c240/signaling"} device-1 | {"device":"b4939e12-06e0-4a66-b21a-50315d05c240","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b4939e12-06e0-4a66-b21a-50315d05c240","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 7614748513670268991 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:vLh/\r\na=ice-pwd:WxzxDg9MLk8lIJieijYmJSLz\r\na=ice-options:trickle\r\na=fingerprint:sha-256 64:48:F9:89:50:4F:E6:6F:92:B9:05:45:7C:77:4F:6D:F1:E8:DB:D0:35:AA:6A:6D:15:EC:80:BF:4A:AB:DD:71\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b4939e12-06e0-4a66-b21a-50315d05c240","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 1719198305003326998 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:U8OM\r\na=ice-pwd:Gi7B3XL2HZXp9YcwfjSfwKlH\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E3:02:ED:E3:83:34:29:47:8A:BE:CF:66:7F:72:6D:AF:25:77:AB:06:37:08:16:3B:1B:2C:00:67:23:9B:8C:3D\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"617875a8-da6d-4899-9cfa-a4c511383890","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3041195664 1 udp 2113937151 ff9dcc41-61b8-4a92-b0a5-3f872f25e1f3.local 36330 typ host generation 0 ufrag U8OM network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"617875a8-da6d-4899-9cfa-a4c511383890","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/617875a8-da6d-4899-9cfa-a4c511383890'"} device-1 | {"content":{"candidate":"candidate:1914312856 1 udp 2113937151 92bca8ed-1198-4802-b2b6-006eeaae21e9.local 34014 typ host generation 0 ufrag vLh/ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b4939e12-06e0-4a66-b21a-50315d05c240","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"b4939e12-06e0-4a66-b21a-50315d05c240","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/31785c88-92d4-461e-83c2-630af5bdee43' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"31785c88-92d4-461e-83c2-630af5bdee43","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b4939e12-06e0-4a66-b21a-50315d05c240","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"617875a8-da6d-4899-9cfa-a4c511383890","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":"d66fc16dd5ac40d47dba1f02b4b8e899","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d66fc16dd5ac40d47dba1f02b4b8e899","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"b4939e12-06e0-4a66-b21a-50315d05c240","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43"}}},"level":"info","message":"received a callback","requestID":"d66fc16dd5ac40d47dba1f02b4b8e899"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"d66fc16dd5ac40d47dba1f02b4b8e899","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"d66fc16dd5ac40d47dba1f02b4b8e899"} device-1 | {"device":"617875a8-da6d-4899-9cfa-a4c511383890","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"617875a8-da6d-4899-9cfa-a4c511383890","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"31785c88-92d4-461e-83c2-630af5bdee43","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"617875a8-da6d-4899-9cfa-a4c511383890","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"31785c88-92d4-461e-83c2-630af5bdee43","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/31785c88-92d4-461e-83c2-630af5bdee43' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"31785c88-92d4-461e-83c2-630af5bdee43","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0c25470a89a07208d1abb5b730afa28b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0c25470a89a07208d1abb5b730afa28b","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/617875a8-da6d-4899-9cfa-a4c511383890"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43"}}},"level":"info","message":"received a callback","requestID":"0c25470a89a07208d1abb5b730afa28b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"0e92c190-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F31785c88-92d4-461e-83c2-630af5bdee43","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a82cc27f-6ba9-4fc0-8bab-dffe62fe9e5a","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.4936144} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":26.552061,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0e92c190-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43","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":"0e92c190-0fed-11f0-b95a-67cf87457f46","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"0e92c190-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"GET /peerconnections/31785c88-92d4-461e-83c2-630af5bdee43 200 32ms","method":"GET","requestID":"0e92c190-0fed-11f0-b95a-67cf87457f46","responseTime":32,"status":200,"url":"/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyN30.mvpIDMTGdhVQ1nnNiNvQ1ilcfRZxyIN9Su5JOOWGX5I","level":"info","message":"auth send jwt","requestID":"e516067981b1638fd14c61f336ce8732"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e516067981b1638fd14c61f336ce8732","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f30b398b-5c12-463d-80c3-7e4953ef0980","requestID":"e516067981b1638fd14c61f336ce8732"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.734293,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"e516067981b1638fd14c61f336ce8732","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617127,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyN30.mvpIDMTGdhVQ1nnNiNvQ1ilcfRZxyIN9Su5JOOWGX5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e516067981b1638fd14c61f336ce8732","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 78ms","method":"POST","requestID":"0c25470a89a07208d1abb5b730afa28b","responseTime":78,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05: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.080","http_referrer":"","http_user_agent":"node-fetch","requestID":"0c25470a89a07208d1abb5b730afa28b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0e9e3340-0fed-11f0-b95a-67cf87457f46"} gateway-1 | {"time_local":"02/Apr/2025:18:05:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f30b398b-5c12-463d-80c3-7e4953ef0980 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e516067981b1638fd14c61f336ce8732"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f30b398b-5c12-463d-80c3-7e4953ef0980","requestID":"e516067981b1638fd14c61f336ce8732"} experiment-1 | {"level":"info","message":"GET /experiments/f30b398b-5c12-463d-80c3-7e4953ef0980 200 36ms","method":"GET","requestID":"e516067981b1638fd14c61f336ce8732","responseTime":36,"status":200,"url":"/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Received request.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35b7a3b5-1ecd-4f29-a3de-a0017f618744","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.5447187} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Sent response.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.812943,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0e9e3340-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0e9e3340-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyN30.mvpIDMTGdhVQ1nnNiNvQ1ilcfRZxyIN9Su5JOOWGX5I","level":"info","message":"auth send jwt","requestID":"f669b6dc7ff17470ffa1892ca64e869e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f669b6dc7ff17470ffa1892ca64e869e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0e9e3340-0fed-11f0-b95a-67cf87457f46"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f30b398b-5c12-463d-80c3-7e4953ef0980","requestID":"f669b6dc7ff17470ffa1892ca64e869e"} device-1 | {"level":"info","message":"POST /devices/617875a8-da6d-4899-9cfa-a4c511383890/signaling 200 9ms","method":"POST","requestID":"0e9e3340-0fed-11f0-b95a-67cf87457f46","responseTime":9,"status":200,"url":"/devices/617875a8-da6d-4899-9cfa-a4c511383890/signaling"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Received request.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0ea00800-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:35350","level":"info","msg":"Sent response.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.356204,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"f669b6dc7ff17470ffa1892ca64e869e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"experiment:http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980","object_type":"experiment","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617127,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyN30.mvpIDMTGdhVQ1nnNiNvQ1ilcfRZxyIN9Su5JOOWGX5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f669b6dc7ff17470ffa1892ca64e869e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37102d29-1d50-4a92-8a7a-80918d019612","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.556308} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.564191,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0ea00800-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0ea00800-0fed-11f0-b95a-67cf87457f46","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Attempting to finish experiment","requestID":"f669b6dc7ff17470ffa1892ca64e869e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0ea00800-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b4939e12-06e0-4a66-b21a-50315d05c240/signaling 200 33ms","method":"POST","requestID":"0ea00800-0fed-11f0-b95a-67cf87457f46","responseTime":33,"status":200,"url":"/devices/b4939e12-06e0-4a66-b21a-50315d05c240/signaling"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"0ea51110-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.926771,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0ea51110-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"peerconnection:http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617127,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyN30.mvpIDMTGdhVQ1nnNiNvQ1ilcfRZxyIN9Su5JOOWGX5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0ea51110-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43","device":"617875a8-da6d-4899-9cfa-a4c511383890","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43","device":"b4939e12-06e0-4a66-b21a-50315d05c240","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/31785c88-92d4-461e-83c2-630af5bdee43' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"31785c88-92d4-461e-83c2-630af5bdee43","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0dd193b372f3683b68099fda24ce6bf4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/617875a8-da6d-4899-9cfa-a4c511383890"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43"}}},"level":"info","message":"received a callback","requestID":"0dd193b372f3683b68099fda24ce6bf4"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F31785c88-92d4-461e-83c2-630af5bdee43': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F31785c88-92d4-461e-83c2-630af5bdee43","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"ffc678aa-9261-48e4-be1f-4c983b7f6398","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.600546} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0dd193b372f3683b68099fda24ce6bf4","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9e1ce296d11e45cdf64787b5e69e8558","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55547ca9-9f34-4f85-85b6-4cdaecb7e212","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.600811} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"0ea51110-0fed-11f0-b95a-67cf87457f46","responseTime":6,"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/617875a8-da6d-4899-9cfa-a4c511383890"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43"}}},"level":"info","message":"received a callback","requestID":"9e1ce296d11e45cdf64787b5e69e8558"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9e1ce296d11e45cdf64787b5e69e8558","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"0ea51110-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /peerconnections/31785c88-92d4-461e-83c2-630af5bdee43 204 52ms","method":"DELETE","requestID":"0ea51110-0fed-11f0-b95a-67cf87457f46","responseTime":52,"status":204,"url":"/peerconnections/31785c88-92d4-461e-83c2-630af5bdee43"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890'"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"0ead2760-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":854,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":854,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928298,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0ead2760-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","object_type":"device","payload":{"admin":true,"edgeToken":"F4ow5VLYy10uDCzWaVpzLg7rEcHqWHblxmOo8gb10H1AtxsALlqYtO0ov-CFPBhRYaVs9fMtesQLwlP3cah__Q","iat":1743617127,"sub":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1","subject_alt":"http://localhost/users/53de070c-e251-48c6-a706-d888dc324aa1"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUzZGUwNzBjLWUyNTEtNDhjNi1hNzA2LWQ4ODhkYzMyNGFhMSIsImVkZ2VUb2tlbiI6IkY0b3c1VkxZeTEwdURDeldhVnB6TGc3ckVjSHFXSGJseG1PbzhnYjEwSDFBdHhzQUxscVl0TzBvdi1DRlBCaFJZYVZzOWZNdGVzUUx3bFAzY2FoX19RIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYxNzEyN30.mvpIDMTGdhVQ1nnNiNvQ1ilcfRZxyIN9Su5JOOWGX5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0ead2760-0fed-11f0-b95a-67cf87457f46","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"2c472a87-03af-4165-b852-00e68b6b3688","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.6508296} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8355e7d5-84d5-4a7b-aa34-8f9b3a562541","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.6512172} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"0ead2760-0fed-11f0-b95a-67cf87457f46","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"0ead2760-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"DELETE /devices/617875a8-da6d-4899-9cfa-a4c511383890 204 48ms","method":"DELETE","requestID":"0ead2760-0fed-11f0-b95a-67cf87457f46","responseTime":48,"status":204,"url":"/devices/617875a8-da6d-4899-9cfa-a4c511383890"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"},"level":"info","message":"Successfully finished experiment","requestID":"f669b6dc7ff17470ffa1892ca64e869e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0ebb3120-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":855,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F617875a8-da6d-4899-9cfa-a4c511383890","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b006b83c-d246-4ed1-98bf-6d1ab9383e91","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.7341325} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":855,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.307982,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0ebb3120-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890","object_type":"device","rebac_allow":false,"scope_allow":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":"0ebb3120-0fed-11f0-b95a-67cf87457f46","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/617875a8-da6d-4899-9cfa-a4c511383890/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"0ebb3120-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/617875a8-da6d-4899-9cfa-a4c511383890/signaling 404 7ms","method":"POST","requestID":"0ebb3120-0fed-11f0-b95a-67cf87457f46","responseTime":7,"status":404,"url":"/devices/617875a8-da6d-4899-9cfa-a4c511383890/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":"f669b6dc7ff17470ffa1892ca64e869e"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff30b398b-5c12-463d-80c3-7e4953ef0980': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff30b398b-5c12-463d-80c3-7e4953ef0980","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F53de070c-e251-48c6-a706-d888dc324aa1"}]},"store_id":"01JQVTPPNQHS75E2NSKNNQT340","writes":null},"raw_response":{},"request_id":"fcb1f6f8-ce4e-485d-a8f4-3aa8c78c94a7","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.7400095} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0ebcb7c0-0fed-11f0-b95a-67cf87457f46"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","store_id":"01JQVTPPNQHS75E2NSKNNQT340"},"raw_response":{"authorization_model":{"id":"01JQVTPPR7MMQN1EAHHVBY6966","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e47deec3-4648-49dc-88f2-0378fa7c0af6","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.740331} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"f669b6dc7ff17470ffa1892ca64e869e","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Received request.","req_id":856,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:45442","raw_request":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","contextual_tuples":null,"store_id":"01JQVTPPNQHS75E2NSKNNQT340","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4939e12-06e0-4a66-b21a-50315d05c240","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"524a42e2-4f7c-4e9c-98af-0af57095f423","store_id":"01JQVTPPNQHS75E2NSKNNQT340","subsystem":"openfga","timestamp":1743617127.7447276} authorization-1 | {"client_addr":"127.0.0.1:47436","level":"info","msg":"Sent response.","req_id":856,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.609183,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:05:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","openfga":{"authorization_model_id":"01JQVTPPR7MMQN1EAHHVBY6966","store":"01JQVTPPNQHS75E2NSKNNQT340"},"requestID":"0ebcb7c0-0fed-11f0-b95a-67cf87457f46","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240","object_type":"device","rebac_allow":false,"scope_allow":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":"0ebcb7c0-0fed-11f0-b95a-67cf87457f46","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0ebcb7c0-0fed-11f0-b95a-67cf87457f46"} device-1 | {"level":"info","message":"POST /devices/b4939e12-06e0-4a66-b21a-50315d05c240/signaling 200 8ms","method":"POST","requestID":"0ebcb7c0-0fed-11f0-b95a-67cf87457f46","responseTime":8,"status":200,"url":"/devices/b4939e12-06e0-4a66-b21a-50315d05c240/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f30b398b-5c12-463d-80c3-7e4953ef0980","requestID":"f669b6dc7ff17470ffa1892ca64e869e"} gateway-1 | {"time_local":"02/Apr/2025:18:05:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f30b398b-5c12-463d-80c3-7e4953ef0980 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.299","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f669b6dc7ff17470ffa1892ca64e869e"} experiment-1 | {"level":"info","message":"DELETE /experiments/f30b398b-5c12-463d-80c3-7e4953ef0980 204 295ms","method":"DELETE","requestID":"f669b6dc7ff17470ffa1892ca64e869e","responseTime":295,"status":204,"url":"/experiments/f30b398b-5c12-463d-80c3-7e4953ef0980"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 243ms","method":"POST","requestID":"0dd193b372f3683b68099fda24ce6bf4","responseTime":243,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05: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.246","http_referrer":"","http_user_agent":"node-fetch","requestID":"0dd193b372f3683b68099fda24ce6bf4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 242ms","method":"POST","requestID":"9e1ce296d11e45cdf64787b5e69e8558","responseTime":242,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05: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.246","http_referrer":"","http_user_agent":"node-fetch","requestID":"9e1ce296d11e45cdf64787b5e69e8558"} gateway-1 | {"time_local":"02/Apr/2025:18:05:27 +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.495","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a581bddcbb0cfc9790ee697c6cb95c6d"} gateway-1 | {"time_local":"02/Apr/2025:18:05:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"6.119","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"563907d8a48aecd4eb937ce71ca1125b"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/617875a8-da6d-4899-9cfa-a4c511383890' closed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"64cc99c292238efe21b890f81e7a8a4e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"64cc99c292238efe21b890f81e7a8a4e","responseTime":0,"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/617875a8-da6d-4899-9cfa-a4c511383890"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"64cc99c292238efe21b890f81e7a8a4e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 4ms","method":"POST","requestID":"64cc99c292238efe21b890f81e7a8a4e","responseTime":4,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:05:27 +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":"64cc99c292238efe21b890f81e7a8a4e"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b4939e12-06e0-4a66-b21a-50315d05c240' closed"} federation-1 exited with code 143 experiment-1 exited with code 143 authorization-1 exited with code 0 authentication-1 exited with code 143 device-1 exited with code 143 gateway-1 exited with code 0